home *** CD-ROM | disk | FTP | other *** search
/ Workbench Design / WB Collection.iso / workbench werkzeuge / bildschirmschoner / madhouse / anleitung.guide (.txt) next >
Amigaguide Document  |  1996-04-07  |  182KB  |  4,427 lines

  1. @database Madhouse
  2. @author "Carsten Jahn"
  3. ## Amiga-Guide-Dokument f
  4. r den Madhouse-Screenblanker.
  5. ## Bitte AmigaGuide, MultiView oder einen Text-Anzeiger, der die .guide-
  6. ## Dateien anzeigen kann, benutzen.
  7. ## Solche Programme k
  8. nnen auf den Disketten der AmigaLibDisk-Serie
  9. ## ("Fish-Disks") und auf vielen anderen Serien und von Mailboxen bezogen
  10. ## werden.
  11. ## Die Anleitung kann zwar auch so gelesen werden, aber es ist bedeutend
  12. ## schwieriger...
  13. @node Main "Madhouse: Inhaltsseite"
  14.             @{B}Hallo Freunde der modularen Screenblanker!@{UB}
  15. Vor Euch seht Ihr die Anleitung zu Madhouse - dem modularen Bildschirm-
  16. "Schoner" den Ihr m
  17. gen werdet.
  18. Das beste an Madhouse sind sicherlich die Blanker, denn hier haben wir
  19. uns wirklich M
  20. he gegeben um interessante Effekte zu erstellen.
  21. Doch auch das Hauptprogramm "Madhouse" welches die Module konfiguriert
  22. und aufruft, hat einiges zu bieten. Aber seht selbst.
  23. Um schnell die Blanker zu sehen bietet sich der Workshop an, der Euch bei
  24. den ersten Schritten begleitet.
  25.        @{"        Ein kleines Vorwort: Wer will das schon lesen?    ",link preface}
  26.        @{"               Der Workshop: Schnell einsteigen.          ",link workshop}
  27.        @{"     Die (Advanced) Options: Keine Festplatte? Pa
  28. wort?   ",link adv_op}
  29.        @{"             Die Blankmodes: und alle Optionen...         ",link blankers}
  30.        @{"           Das Error System: Spa
  31.  mit Fehlern             ",link errors}
  32.        @{"          Der Referenz-Teil: Wie ging das doch gleich?    ",link reference}
  33.     !! @{"            F
  34. r Non-HD-User: Alles 
  35. ber Buffering.        ",link buffering} !!
  36.        @{"     Nicht nur f
  37. r C-Profis: Eigene Module hinzuf
  38. gen     ",link programmers}
  39.        @{"    Registration, Sonstiges: der unvermeidliche - Anhang! ",link addon}
  40. @endnode
  41. @node preface "Ein Vorwort"
  42. Als er mit feuchten Fingern den klobigen Schalter bet
  43. tigte, sch
  44. ttelte es
  45. die Zahnr
  46. der der Festplatte locker hin und her. Der Aluminiumscheibensta-
  47. pel saugte sich an seine Vertikalachse, vier Schwenk
  48. rme zwengten sich j
  49. zwischen sie und entsandten Magnetfelder. Die Rotorbl
  50. tter neben den
  51. seriellen Stiftreihen zirkulierten um den L
  52. ftermotor. Ein tiefes R
  53. durchstr
  54. mte den Raum. Die gelbe Leuchtdiode begann aufgeregt zu blinken,
  55. mit einem Zittern w
  56. rgte der Monitor das erste Bild hervor. Ein pinkfar-
  57. bener, spitzer Pfeil nach Nord-West begann eifrig und hungrig Betonkl
  58. mit farbigen Bildern zu attackieren. Ein Beben ging 
  59. ber die Tasten, die
  60. sich voller Furcht in der Mitte der Tastatur zusammenkauerten. Drei-
  61. hunderttausendmal wurde eine von ihnen von einem harten Fingerballen ge-
  62. troffen. Pl
  63. tzlich erlosch das Bild, der L
  64. fter verstummte, und die Lampe
  65. ging aus. Mist - Stromausfall. Und wieder nicht abgespeichert...
  66.                                    --
  67. Nach diesem kurzen Drama wollte ich aber eigentlich noch etwas sinn-
  68. volleres sagen. Als wenn die ersten zehn Zeilen auf der Inhalts-Seite nicht
  69. gereicht h
  70. tten, werde ich hier noch ein paar Anmerkungen loswerden, die
  71. sich sonst in keines der Kapitel so richtig einreihen lassen.
  72. @{FG Highlight}@{B}Ich, du, er-sie-es@{UB}@{FG Filltext}
  73. Die deutsche Sprachsyntax erm
  74. glicht die Verwendung einer H
  75. flichkeits-
  76. Form neben den normalen Anreden, die normalerweise benutzt wird wenn man
  77. es mit jemanden zu tun hat, den man nicht kennt. Also k
  78. nnte ich Sie 
  79. den gesamten Text hinweg siezen. Andererseits werden viele Leser auch
  80. nicht gerade die 
  81. ltesten sein, weshalb ich das "Sie" nicht verwenden
  82. werde. Das soll nat
  83. rlich nicht die 80-j
  84. hrigen User diskreminieren.
  85. Kurzum, ich habe mich f
  86. r Euch und Ihr entschlossen, was hier die gesamte
  87. Amiga-Fangemeinde anspricht. Wer sich damit nicht anfreunden kann,
  88. bitte sehr:
  89. Sehr geehrte Dame, sehr geehrter Herr!
  90. Wir gratulieren Ihnen recht herzlich zum Empfang der Madhouse-Distribution.
  91. Dieses Programmpaket wird Ihnen noch lange Freude bereiten, denn wir haben
  92. bei der Herstellung Wert auf ausgesuchte Materialien gelegt. Bitte lesen
  93. Sie diese Gebrauchsanweisung sorgf
  94. ltig durch.
  95. Da wir uns ja nun schon seit 80 Sekunden kennen, erlaube ich mir, Ihnen
  96. das Du anzubieten. Ich hei
  97. e Carsten, und du? (Stellvertretend f
  98. r Aicke
  99. chte ich hier anmerken, da
  100.  Aicke Aicke hei
  101. @{FG Highlight}@{B}Englische Eindeutschung und deutsche Einenglischung@{UB}@{FG Filltext}
  102. Besonders die Einsteiger, die das "Commodore Benutzerhandbuch Workbench"
  103. gelesen haben (m
  104. glichst @{I}bevor@{UI} es auseinander fiel), wurden dort
  105. mit einer F
  106. lle von neudeutschen Begriffen konfrontiert, die sich in der
  107. englischen Sprache viel besser anh
  108. Von Bl
  109. ttersymbolen, Amiga-DOS Stapeldateien, Piktogrammen, Voreinstellern,
  110. Standardnamensmustern und nicht zuletzt Anmeldedateien ist hier die Rede.
  111. Ich bin aber noch mit Cyclegadgets, Scripts, Icons, Prefs, Patterns und
  112. Mountfiles aufgewachsen und finde z.B., da
  113.  sich "Lokalisationsvorein-
  114. stellungsdialogfenster" etwas gedrungen anh
  115. rt... weshalb ich haupts
  116. lich Begriffe verwenden werde, wie man sie auch in Fachzeitschriften fin-
  117. @{FG Highlight}@{B}Hausgemachtes Sprachen-Wirrwar auf Commodore-Art: die locale.library@{UB}@{FG Filltext}
  118. Eine der tollsten (wenn auch eine der letzten...) Ideen, die Commodore
  119. noch vor dem Konkurs vollbrachte, war die locale.library. Zu ihr geh
  120. auch die ca. 50 Verzeichnisse und hunderte von Dateien, denn die locale.-
  121. library ist komplett modular aufgebaut. Falls also Mars-Kolonien entstehen
  122. sollten, oder ein Amiga an au
  123. erirdische Lebensformen verkauft wird, oder
  124. tzlich ein neuer Kontinent auftauchen sollte, dann kann man ganz pro-
  125. blemlos die betreffenden Sprachen und Auslandsvorwahlen inclusive des
  126. Zeitformats und der Wochentage einstellen.
  127. Seit der Version 1.1 ist Madhouse lokalisiert. Das hei
  128. t: Benutzer von
  129. OS 2.1 oder h
  130. her kommen in den Genu
  131.  eines Madhouse mit deutschen Texten,
  132. OS 2.0 - User lesen nach wie vor alles auf englisch. Das stellt diese An-
  133. leitung auf eine harte Probe: englische und deutsche Texte m
  134. ssen gleich-
  135. zeitig erw
  136. hnt werden. Au
  137. erdem unterscheiden sich teilweise die Texte
  138. vom MUI-Programmteil von den Texten, die ohne MUI zu lesen sind.
  139. @{FG Highlight}@{B}Leider ist Madhouse seit vorgestern Commoditie.@{UB}@{FG Filltext} Wieso leider? Nun, Aicke
  140. und ich sind nicht gerade Fans von CX's (dumme Abk
  141. rzung..), weil man
  142. als Anwender immer das Problem hat, die Einstellungsfenster der Commo-
  143. dities zu 
  144. ffnen. Denn viele C. bieten nur zwei M
  145. glichkeiten dazu:
  146. den Hotkey und das Exchange-Programm. Ersteres vergi
  147. t man dauernd,
  148. letzteres mu
  149.  man erst starten. Weil Exchange selbst Commoditie ist, k
  150. te man es auch per Hotkey aufrufen, aber wenn man den auch vergessen
  151. hat...
  152. Naja, Commoditie-Hasser haben keine Probleme mit Madhouse, da man es ja
  153. ganz bequem mit dem Tools-Men
  154.  aufrufen kann. Und die, die voll auf
  155. Commodities abfahren, k
  156. nnen Madhouse auch mit Exchange fernsteuern -
  157. wenn's denn unbedingt sein mu
  158. Madhouse ist aber nur deshalb Commoditie, weil sich das vom programm-
  159. technischen Aspekt ganz gut macht, so lassen sich Maus und Tastatur leicht
  160. und vor allem systemkonform abfragen.
  161. @{FG Highlight}@{B}Was Madhouse von anderen herk
  162. mmlichen Marken-Blankern unterscheidet:@{UB}@{FG Filltext}
  163. Die gro
  164. en Unterschiede liegen in den kleinen Details. So kann mit fast
  165. jeder Programmiersprache ein Blanker f
  166. r Madhouse erstellt werden, und
  167. kinderleicht ist es auch. Als Beispiel f
  168. r ein anderes Detail m
  169. chte ich
  170. die Madhouse-Zufalls-Funktion hervorheben, die zu gegebener Zeit einen der
  171. Blanker ausw
  172. hlt, damit er dann angezeigt werden kann. Weil dieses Kapitel
  173. aber eh' schon gro
  174.  genug ist, und ich Euch den Code auf keinen Fall er-
  175. sparen m
  176. chte, m
  177. t Ihr jetzt @{"Hier klicken!",link bl_rand}
  178. Die anderen Features werden Euch beim Lesen der Anleitung bestimmt auch
  179. auffallen.
  180. @{FG Highlight}@{B}Ein paar Worte an die Einsteiger.@{UB}@{FG Filltext}
  181. Die Bedienungsanleitungen von Programmen, gleich ob kommerziell oder PD,
  182. nnen und sollen die Anleitung zur Bedienung des Computers nicht ersetzen.
  183. Wer also seinen Amiga noch nicht so lange besitzt, der sollte einerseits
  184. eine gute Computerzeitschrift lesen. 
  185. ber solche Zeitschriften kann man
  186. etwas 
  187. ber Neuerscheinungen auf dem Amiga-Markt erfahren. Zum Einsteigen
  188. rt aber meiner Meinung nach noch ein Einsteigerbuch, das auf Euren
  189. Computer zugeschnitten ist. Solche B
  190. cher sind noch erh
  191. ltlich und sind
  192. eigentlich immer um L
  193. ngen besser als Commodores Orginal-Anleitung.
  194. @{FG Highlight}@{B}Zum Schlu
  195. @{UB}@{FG Filltext} bitte ich alle interessierten Programmierer, doch mal
  196. ein eigenes Modul f
  197. r Madhouse zu schreiben, da die Schnittstelle recht
  198. gut beschrieben ist (in dieser Datei). Au
  199. erdem geht alles wirklich einfach,
  200. und kleine H
  201. rden werden mehr als ausf
  202. hrlich erkl
  203. rt. Viel Spa
  204.  dabei.
  205. @{FG Highlight}@{B}Zum absoluten Schlu
  206. @{UB}@{FG Filltext} danke ich allen, die sich so lange mein Gequassel
  207. durchgelesen haben... Schreibt uns mal! F
  208. r Verbesserungsvorschl
  209. Anregungen, Lob und Kritik sowie geistige Aufbauma
  210. nahmen ("Wann kommt
  211. denn endlich das Update?") sind wir immer offen. Die Adressen findet
  212. Ihr einerseits im etwas 
  213. berdimensionierten (ich geb' es ja zu..)
  214. Info-Fenster des Hauptprogramms (
  215. ber Info-Button erreichbar) und im
  216. @{"Autoren- und Copyright-Anhang",link authors}
  217.                               @{B}Viel Spa
  218.                    @{FG Highlight}         @{FG Fill}         .@{FG Filltext}
  219.                    @{FG Highlight}  //\ \  @{FG Fill}         :@{FG Filltext} /\ : @{FG Fill}        @{FG Filltext}( )@{FG Highlight}  _______ @{FG Fill}  /\/\/\/\ @{FG Filltext}
  220.        /\          @{FG Highlight}  /  \ \ @{FG Fill} _.._-.  :@{FG Filltext} ||  '@{FG Fill}   __   @{FG Filltext}(.)@{FG Highlight} /_______\ @{FG Fill}<       >@{FG Filltext}
  221.       /  \    /\\\ @{FG Highlight} |  _ \  @{FG Fill} 8     \ :@{FG Filltext} || /\ @{FG Fill} /  \  @{FG Filltext}(.)@{FG Highlight} ||     ||@{FG Fill} <       >@{FG Filltext}
  222.      /    \  /   \ @{FG Highlight} | |_| \ @{FG Fill} 8 ___  \:@{FG Filltext} || ||@{FG Fill} I /\ 
  223.  @{FG Filltext}(
  224. )@{FG Highlight} ||@{FG Filltext} ( )@{FG Highlight} ||@{FG Fill} >  \/\/\/@{FG Filltext}
  225.     /  /\ \\//    |@{FG Highlight} |      |@{FG Fill} 8 |  \  |@{FG Filltext} ||_||@{FG Fill} I || ! @{FG Filltext}(
  226. )@{FG Highlight} ||@{FG Filltext} (:)@{FG Highlight} ||@{FG Fill} >  <@{FG Filltext}
  227.    /  /  \______  |@{FG Highlight} | ___  |@{FG Fill} 8 *  <  |@{FG Filltext} |___|@{FG Fill} I || ! @{FG Filltext}(
  228. )@{FG Highlight} ||@{FG Filltext} (
  229. )@{FG Highlight} ||@{FG Fill} <  <@{FG Filltext}
  230.   /  /         |  |@{FG Highlight} ||  |  |@{FG Fill} 8 |  >  |@{FG Filltext} || ||@{FG Fill} I || ! @{FG Filltext}(
  231. )____/
  232. / @{FG Highlight}||@{FG Fill} <  /\/\/\ @{FG Filltext}
  233.  /   |         |  |@{FG Highlight} ||  |  |@{FG Fill} 8 |__/  |@{FG Filltext} || ||@{FG Fill} I || ! @{FG Filltext}\
  234. ++++++/ @{FG Highlight}// @{FG Fill} >       >@{FG Filltext}
  235.  |___|         |  |@{FG Highlight} \/  :  :@{FG Fill} 8      / @{FG Filltext} \/ ||@{FG Fill} | \/ ! @{FG Filltext} 
  236.  @{FG Highlight}//  @{FG Fill} >  \/\/\/@{FG Filltext}
  237.                |  |@{FG Highlight}     .  :@{FG Fill} 8_..../  @{FG Filltext}    ||@{FG Fill}  \__/  @{FG Highlight}    ____//  @{FG Fill}  <  <@{FG Filltext}
  238.                |  |@{FG Highlight}        .@{FG Fill} 8        @{FG Filltext}    \/@{FG Fill}        @{FG Highlight}   /____/   @{FG Fill}  <  <@{FG Filltext}
  239.                \/\/@{FG Highlight}     .   @{FG Fill} 9        @{FG Filltext}      @{FG Fill}        @{FG Highlight}  //        @{FG Fill}  >  /\/\/\ @{FG Filltext}
  240.                    @{FG Highlight}        .@{FG Fill} 0        @{FG Filltext}      @{FG Fill}        @{FG Highlight} ||      /\ @{FG Fill}  >       >@{FG Filltext}
  241.                    @{FG Highlight}         @{FG Fill} 1        @{FG Filltext}      @{FG Fill}        @{FG Highlight}  \\____//: @{FG Fill}  <       >@{FG Filltext}
  242.                    @{FG Highlight}         @{FG Fill} :        @{FG Filltext}      @{FG Fill}        @{FG Highlight}   \____/   @{FG Fill}   \/\/\/\/@{FG Filltext}
  243.                      w
  244. nschen Euch die Programmierer
  245.                       Aicke Schulz und Carsten Jahn.@{UB}
  246. @endnode
  247. @node bl_rand "Die Madhouse-Zufallsfunktions:"
  248. Also, beim Durchschnittsblanker w
  249. rde man so eine Funktion etwa so
  250. realisieren:
  251. short bl_random()
  252.    return Random(b_counter)
  253. wenn b_counter die Anzahl der Blanker ist.
  254. In Madhouse sieht das so aus:
  255. short bl_random()
  256.    short rd=0;
  257.    BOOL takeIt = FALSE;
  258.    BOOL Bl_Avail = FALSE;
  259.    short used_min = 30000;
  260.    short used_max = 0;
  261.    short take_me_border = 0;
  262.    // CPU-Tests?
  263.    short cpu = 0;
  264.    if( cpu_sensitive )     // Wenn CPU sensitive Random aktiv ist
  265.       cpu = cpu_test();    // Zustand der CPU ermitteln (macht sie was?)
  266.    // Ist 
  267. berhaupt ein Blanker verf
  268. gbar?
  269.    for( int i=0; i<b_counter; i++ ) {
  270.       // Wurde der Blanker ausgew
  271. hlt und lief bei ihm noch nichts schief?
  272.       if( (b[i].rand_sel == TRUE) && (b[i].error == FALSE) ) {
  273.          // Tritt folgender Fall nicht ein: CPU sensitive Random gew
  274.          // UND CPU ist belastet UND der Blanker braucht CPU?
  275.          if( !(cpu_sensitive && cpu && b[i].CPU_need == 1) ) {
  276.             // Nein, dieser ist schon mal tauglich und wir haben einen
  277.             // Dummen gefunden, der die Arbeit macht.
  278.             Bl_Avail = TRUE;
  279.             // Es wird ermittelt, wie oft dieser Blanker schon in dieser
  280.             // Blank-Periode ben
  281. tigt wurde. Dieser Wert steht in [].used.
  282.             // 
  283. fter oder weniger als alle anderen? 
  284.             if( b[i].used < used_min )   used_min = b[i].used;
  285.             if( b[i].used > used_max )   used_max = b[i].used;
  286.          }
  287.       }
  288.    // Jetzt enthalten: used_min wie oft der Blanker schon dran war, der am
  289.    //                           wenigsten dran war und
  290.    //                  used_max wie oft der Blanker schon dran war, der am
  291.    //                           meisten dran war.
  292.    take_me_border = used_min + (used_max-used_min)/2;
  293.    // Die Gruppe der Blanker wird zweigeteilt. Einen Auftrittsz
  294. hler klei-
  295.    // ner oder gleich take_me_border bedeutet, er war weniger dran als DIE
  296.    // H
  297. LFTE der Blanker, will sagen da
  298.  eine Menge Blanker schon 
  299.    // dran war als er.
  300.    // Besser kann ich das nicht erkl
  301. ren...
  302.    if( Bl_Avail ) {
  303.       // Solange noch keiner herausgefischt wurde
  304.       while( !takeIt ) {
  305.          takeIt = TRUE;
  306.          // Einen aus der Menge greifen
  307.          rd=Random(b_counter);
  308.          
  309.          // Und sehen, ob er den Anforderungen gen
  310.          // Wurde er etwa nicht ausgew
  311. hlt? Dann nix wie weg mit ihm.
  312.          if( b[rd].rand_sel == 0 ) takeIt = FALSE;
  313.          // Oder hatte er in dieser Blank-Periode schon einen Fehler ge-
  314.          // meldet? Dann geht er jetzt sich auch nicht... und tsch
  315.          if( b[rd].error == TRUE ) takeIt = FALSE;
  316.          // Oder wurde CPU sensitive Random ausgew
  317. hlt UND die CPU ist
  318.          // am kochen UND er w
  319. rde den Prozessor zu stark beanspruchen?
  320.          if( cpu_sensitive && cpu && b[rd].CPU_need ) takeIt = FALSE;
  321.          // Oder haben wir den vorhin schon gesehen?
  322.          if( b[rd].used > take_me_border ) takeIt = FALSE;
  323.       }
  324.    } else
  325.       // Kein Wunder - niemand hat sich gefunden...
  326.       rd = -1;
  327.    return rd;
  328.    // Ergebnis ist -1, wenn kein passender Bl beschafft werden konnte.
  329. Kleine Anmerkung: Obwohl - wie hier ersichtlich - die Blankerdaten in einem
  330. Array gehalten werden, ist die Anzahl der maximal m
  331. glichen Blanker nicht
  332. limitiert. Dies k
  333. nnt ihr gerne durch hundertausendfaches Kopieren des
  334. CrazyPixel-Blankers nachpr
  335. fen. Ich habe das nicht ausprobiert...
  336. @endnode
  337. @node workshop "Der Workhop"
  338. Soo, da w
  339. ren wir nun. Eigentlich ist die gesamte Madhouse-Oberfl
  340. selbsterkl
  341. rend, wie man so sch
  342. n sagt. Aber wer kann schon von seinenen
  343. Programmen behaupten, da
  344.  sie jeder versteht? Vielleicht Dr. Peter Kittel
  345. von seinen AmigaBASIC-Demos? Also dann, ab gehts:
  346. @{FG Highlight}@{B}0. Die Installation.@{UB}@{FG Filltext}
  347.    ... sollte eigentlich ganz einfach gehen, denn das Installerscript zu
  348.    Madhouse erledigt alles. Das dazu n
  349. tige Programm "Installer" solltet
  350.    Ihr von Eurer Install-Disk (sofern Ihr eine habt, sonst von einem
  351.    anderen Programm das den Installer verwendet) in Euer C:-Verzeichnis
  352.    kopieren, dann m
  353. te alles laufen.
  354.    Wer absolut nicht an den Installer herankommt, was jetzt aber echt ver-
  355.    wunderlich ist, der mu
  356.  halt alles "handy" machen:
  357.    @{B}a) Zum schnellen Ausprobieren:@{UB} die amos.library aus dem Madhouse-Libs/-
  358.    Verzeichnis in das libs-Verzeichnis der Startdiskette/-Festplatte
  359.    kopieren. Das kann 
  360. ber die Shell so geschehen:
  361.    "copy Madhouse/libs/amos.library to sys:libs/amos.library".
  362.    Vor "Madhouse" mu
  363.  ggf. noch ein Pfad mit Diskettenbezeichnung stehen.
  364.    Das war's dann schon, denn wenn das Programm "Madhouse" aus seiner ur-
  365.    spr
  366. nglichen Schublade heraus gestartet wird, findet es das Ein-
  367.    stellungsprogramm von allein.
  368.    @{B}b) Zur dauerhaften Anwendung:@{UB} Wie das Wort "dauerhaft" schon andeutet,
  369.    mu
  370.  hier wieder die Schublade SYS:WBStartup/ herhalten. Aber zuerst die
  371.    amos.library kopieren, wie unter a) beschrieben.
  372.    Nun das Programm "Madhouse" nach SYS:WBStartup kopieren. Alle Programme
  373.    in dieser Schublade werden dann beim Hochfahren des Rechners automa-
  374.    tisch gestartet. Benutzer von Disketten sollten das gesamte Madhouse-
  375.    Verzeichnis auf einer neuen Leerdiskette auslagern, HD-User legen ein
  376.    neues Verzeichnis an und kopieren die Madhouse-Schublade dort hinein.
  377.    Jetzt mu
  378.  nur noch das ToolType ("Merkmal") im Madhouse-Icon (dem Mad-
  379.    house-Piktogramm in WBStartup) ge
  380. ndert werden. Die Zeile CONFIGED=
  381.    sagt Madhouse, wo sich das separate Einstellungsprogramm f
  382. r Madhouse
  383.    befindet, welches Madhouse ggf. selbst starten mu
  384. . Man mu
  385.  diesen
  386.    ToolType so 
  387. ndern, da
  388.  er den neuen Pfad und den Programmnamen des
  389.    MadhouseConfigEd-Programs enth
  390. lt - also je nach dem, wohin man das
  391.    Madhouse-Verzeichnis kopiert hatte.
  392.    Damit - falls dies ein Amiga mit OS 2.1 oder h
  393. her ist - Madhouse die
  394.    mitgebrachte Locale-Datei benutzen kann, um alles auf deutsch anzu-
  395.    zeigen, mu
  396.  noch die Datei
  397.    Locale/deutsch/madhouse.catalog
  398.    aus dem Madhouse-Verzeichnis nach
  399.    LOCALE:catalogs/deutsch/madhouse.catalog
  400.    kopiert werden - und fertig.
  401. @{FG Highlight}@{B}1. Der Programm-Start.@{UB}@{FG Filltext}
  402.    Das sollte kein gro
  403. es Problem darstellen. Wie auf dem Amiga 
  404. blich,
  405.    geschieht dies per Doppelklick auf das Madhouse-Icon.
  406.    Falls der Computer nicht mit dem Amiga-OS 2.0 ausger
  407. stet ist,
  408.    ist das schlecht, denn in diesem Fall gibt Madhouse nicht mehr als
  409.    einen simplen Alert aus...
  410.    Au
  411. erdem *mu
  412. * die amos.library im "LIBS:"-Verzeichnis vorhanden sein,
  413.    aber das haben wir ja eben erledigt. (Nur, falls jemand mittels
  414.    "assign add LIBS: xxx" mehrere Suchpfade f
  415. r LIBS: erstellt hat, noch
  416.    ein Hinweis: die amos.library mu
  417.  sich in dem Verzeichnis befinden,
  418.    was zuerst als LIBS: deklariert wird, also normalerweise sys:libs.
  419.    Sonst st
  420. rzt der n
  421. chstbeste AMOS-Blanker ab. Sorry, aber so ist das
  422.    halt bei AMOS.)
  423. @{FG Highlight}@{B}2. Ein Fenster 
  424. ffnet sich.@{UB}@{FG Filltext}
  425.    Und das ist schon einen Faszination f
  426. r sich, denn bei installiertem
  427.    MagicUserInterface (
  428.  Stefan Stunz, folgend MUI genannt, siehe auch
  429.    @{"MUI-Infos",link mui_info}) reagiert der MadhouseConfigEd entsprechend und
  430. ffnet ein MUI-Fenster, sonst nur ein normales. Ihr habt richtig ge-
  431.    lesen, im Moment und eigentlich immer bedient Ihr den MadhouseConfigEd
  432.    und nicht Madhouse selbst. (Madhouse hat soeben dieses Programm ge-
  433.    startet).
  434.    Falls nicht, wenn sich also kein Fenster 
  435. ffnet, ist bereits alles in
  436.    Ordnung. Beim Erststart wird Madhouse allerdings nicht seine Datei mit
  437.    den Einstellungen finden k
  438. nnen, so da
  439.  es das Hauptfenster 
  440. ffnet.
  441.    Wenn Ihr das Fenster "von Hand" 
  442. ffnen wollt, dann
  443.    - braucht Ihr keinen Hot-Key zu dr
  444. cken, den Ihr immer verge
  445. t, und
  446.    - Ihr braucht nicht das Exchange-Programm zu starten, das Ihr immer
  447.      l
  448. scht...
  449.    Ein Blick ins Tools-/Hilfsmittel-Men
  450.  bringt Klarheit, Madhouse tr
  451.    sich praktischerweise hier ein. Bei Anwahl Fenster.
  452.    Wenn anstatt eines tollen Fensters ein fader Requester erscheint, der
  453.    etwas von einem falschen Pfad labert, dann folgt den Anweisungen und
  454.    beendet Madhouse (Requester best
  455. tigen und Madhouse nochmals starten),
  456. ndert den CONFIGED-Tooltype (siehe Abschnitt 0) und startet Madhouse
  457.    neu.
  458. @{FG Highlight}@{B}3. Jetzt den Pfad der Blanker angeben!@{UB}@{FG Filltext}
  459.    Durch einen Klick auf den kleinen Knopf mit dem Bildchen (neben dem
  460.    Path-Gadget) 
  461. ffnet sich der ASL-Directory-Requester, in dem ihr jetzt
  462.    das Verzeichnis mit den Blankern angeben k
  463. nnt. Auf der unge
  464. nderten
  465.    Madhouse-Disk hei
  466. t dieses Verzeichnis "Blankers". Wichtig: Der Pfad
  467.    mu
  468.  mit dem NAMEN einer Diskette beginnen (z.B. "Work:.../Blankers"),
  469.    sonst macht Euch Madhouse darauf aufmerksam und akzeptiert nix.
  470.    Nachdem der Requester mit "Ok" best
  471. tigt wurde, sollten in der Listbox
  472.    auf der linken Seite des Hauptfensters Namen wie "FlyingToasters"
  473.    stehen. Au
  474. erdem werden nun die restlichen Gadgets nicht mehr
  475.    schraffiert dargestellt.
  476. r Einsteiger, die ihren Wortschatz aufstocken wollen: Dieses Gadget
  477.    "mit dem Bildchen" hei
  478. t Popup-Button.
  479. @{B}-  Wer keine Festplatte hat...@{UB}
  480.    der kann Madhouse auch benutzen. Jedoch mu
  481.  dann der Schalter
  482.    "Puffern/Buffering" im Advanced-Options-Fenster bzw. auf der Optionen/
  483.    Advanced-Seite im MUI-Fenster aktiviert sein.
  484.    Das geschieht schon standard-m
  485.    Da Madhouse sehr gut auf den Diskettenbetrieb abgestimmt ist, aber
  486.    oberfl
  487. chlich davon nur dieses "Puffern/Buffering"-Gadget zu sehen ist,
  488.    empfehle ich noch die Lekt
  489. re von @{"Alles 
  490. ber Buffering",link buffering}.
  491. @{B}-  Wer aber eine Festplatte hat...@{UB}
  492.    Der kann die Option "Puffern/Buffering" im Advanced-Options-Fenster (bei
  493.    MUI: auf der Optionen/Advanced-Seite) ausschalten.
  494.    Doch dazu sp
  495. ter mehr. Nat
  496. rlich reicht es nicht, eine Festplatte zu
  497.    haben, Madhouse mu
  498.  auch dort installiert sein...
  499. @{FG Highlight}@{B}4. Nun sehen wir uns die Blanker-Module an!@{UB}@{FG Filltext}
  500.    @{B}Ohne MUI:@{UB}
  501.    Zuerst mu
  502.  das Edit-Gadget durch draufklicken weitergeschaltet werden,
  503.    bis der Text "Einstellung/Prefs..." erscheint. In diesem Modus k
  504.    die Einstellungen des Blankers ge
  505. ndert werden, den man in der unteren
  506.    Liste ausw
  507. hlt. Also bitte einen Blanker anw
  508. hlen!
  509.    @{B}Mit MUI:@{UB}
  510.    Zuerst m
  511. t Ihr das Registerfeld (oder das Cycle-Gadget) von "System"
  512.    auf "Blankers" umschalten. Nun erscheint wieder fast dieselbe Liste
  513.    auf der linken Seite des Fensters. Bitte auf einen Blanker doppel-
  514.    klicken.
  515.    @{B}Weiter f
  516. r mit und mit ohne :^) MUI:@{UB}
  517.    Schon 
  518. ffnet sich ein Fenster, in dem sich u.a. ein Knopf mit der
  519.    Aufschrift Test befindet. Anklicken und staunen!
  520.    Durch einen weiteren Mausklick wird der Blanker dann wieder beendet.
  521.    "Abbruch/Cancel" und "Okay" 
  522. ffnen wieder das Hauptfenster, wobei "Okay"
  523.    die Einstellungen abspeichert. "Dauer/Duration" (bei MUI im Haupt-
  524.    fenster, sonst im eben ge
  525. ffneten BlankerPrefs-Fenster) wird im Refe-
  526.    renzteil erkl
  527.    Die anderen Gadgets variieren je nach Blanker. Hier bieten sich
  528.    viele M
  529. glichkeiten zum Herumspielen, beeinflussen diese Gadgets doch
  530.    den Blanker. Ihre Bedeutungen werden dann im Blanker-Kapitel erkl
  531.    Jetzt k
  532. nnt Ihr erstmal alle Blanker ausprobieren.
  533. @{FG Highlight}@{B}5. Die Liste(n) mit den Blanker-Namen und was da so passiert:@{UB}@{FG Filltext}
  534.    @{B}Ohne MUI:@{UB} Der Edit-Button bestimmt, was passiert, wenn ein Blanker in
  535.    der Liste ausgew
  536. hlt wird.
  537.    Steht er auf "Einstellung/Prefs..." kann, wie eben geschehen, das
  538.    BlankerPrefsFenster ge
  539. ffnet werden.
  540.    Mit "Auswahl/Selection" wird bestimmt, welche Blanker benutzt werden,
  541.    wenn Madhouse nach der angegebenen Zeit die Blanker startet.
  542.    Durch Klick werden sie angeschaltet (
  543.  CrazyPixel) und wieder
  544.    ausgeschaltet (  CrazyPixel). 
  545.    @{B}Mit MUI:@{UB}
  546.    Die Liste, die auf der Blankers-Seite angezeigt wird, erm
  547. glich das 
  548.    dern der Einstellungen der einzelnen Blanker. Die andere Liste, auf der
  549.    System-Seite vorhanden, dient dem Ausw
  550. hlen der einzelnen Blanker. Mit
  551.    Ihr wird bestimmt, welche Blanker gestartet werden sollen, wenn der
  552.    Computer 
  553. ber eine einstellbare Zeitspanne hinweg keine Eingaben
  554.    empfangen hat.
  555. @{FG Highlight}@{B}6. Wieviel Zeit meiner Inaktivit
  556. t soll vergehen, bis Madhouse loslegt?@{UB}@{FG Filltext}
  557.    Diese Einstellung wird mit dem "Zeit/Time"-Slider erledigt.
  558. @{FG Highlight}@{B}7. Konfiguration speichern.@{UB}@{FG Filltext}
  559.    Ganz einfach mit "Speichern/Save". Dann wird die Konfiguration als
  560.    "ENVARC:Madhouse.prefs" abgespeichert.
  561. @{FG Highlight}@{B}8. Wer keine Festplatte hat oder ein Pa
  562. wort braucht,@{UB}@{FG Filltext}
  563.    Klickt hier: @{"Die (Advanced) Options", link adv_op}
  564. @endnode
  565. @node adv_op "Das Advanced Options Fenster / Die Advanced/Optionen-Seite"
  566. Dieses Fenster stellt einige weitere Funktionen bereit, die man
  567. selten 
  568. ndert.
  569. @{FG Highlight}@{B}1. Pa
  570. rter@{UB}@{FG Filltext}
  571. r Zeitgenossen, die anderen alles zutrauen und f
  572. r Leute, die den
  573.    Amiga beruflich nutzen (ja, das gibt's!), haben wir eine Pa
  574. wort-
  575.    Funktion zur Verf
  576. gung gestellt, die sich kaum umgehen l
  577. t (was
  578.    mir bereits zum Verh
  579. ngnis wurde...)
  580.    "Kaum" hei
  581. t, es wurde durch keinen Versuch die Sicherheit des
  582.    Eingabescreens widerlegt. Und wir haben wirklich alles ausprobiert.
  583.    Jedoch kann Madhouse auf Systemen ohne Festplatte den neuen Blanker
  584.    nach @{I}Abbruch@{UI} der Pa
  585. worteingabe nicht so schnell starten, was
  586.    zur Folge hat, da
  587.  in dieser Zeit dann doch Ver
  588. nderungen an den Pro-
  589.    grammen im Hintergrund vorgenommen werden k
  590. nnen. Also ausprobieren!
  591.    Wenn Ihr ein Pa
  592. wort wollt, m
  593. t Ihr zun
  594. chst den Haken vors
  595.    "Password/Pa
  596. wort/Benutzen"-Gadget setzen. Dann sollte noch ein m
  597.    lichst gerissenes Pa
  598. wort in das Text-Feld "Name" (bzw. "Text") einge-
  599.    geben werden. 4711 w
  600. rde nat
  601. rlich jeder Gangster zuerst ausprobieren,
  602.    besser sind da ausgefallenere Dinge: "Schnellhefter", "ALDI", "Rasen-
  603. her", "Hundshai", ...  Ach, ja.. es ist recht hilfreich, wenn man das
  604.    Pa
  605. wort nicht vergi
  606. t. Nach der Einstellung des Pa
  607. worts fragt Madhouse
  608.    gleich nach demselben; was sich also nicht eingeben l
  609. t wird gleich und
  610.    ohne Probleme durch das alte Pa
  611. wort ersetzt.
  612.    Nachdem ein Blanker gestoppt wurde, erscheint dann der Pa
  613. wort-Screen.
  614.    Es ist zwar kein Cursor im Textfeld zu sehen, aber Ihr k
  615. nnt einfach
  616.    lostippen. Jedes Zeichen wird als "*" dargestellt. Es gibt drei
  617.    Chancen, das richte Pa
  618. wort zu finden, aber ist das dritte falsch,
  619.    verstreichen ein paar Minuten seit der letzten Eingabe, oder es
  620.    wird Esc gedr
  621. ckt, startet der n
  622. chste Blanker. Backspace funktioniert
  623.    wie gewohnt, und Return best
  624. tigt das Pa
  625. wort. Zwischen Gro
  626. - und
  627.    Kleinschreibung wird fieserweise unterschieden!
  628. @{FG Highlight}@{B}2. Optionen f
  629. r Disketten-Benutzer@{UB}@{FG Filltext}
  630.    Wenn Ihr keine Hard-Disk habt, ist Madhouse der einzige modulare
  631.    Screenblanker, den Ihr benutzen k
  632. nnt (soweit ich wei
  633.    Was passiert wohl, wenn man einen herk
  634. mmlichen Marken-Mod.-Screenbl.
  635.    startet, der seine Module nur auf einer Diskette sucht? Sofern beim
  636.    Start des Blankvorgangs mal die ben
  637. tigte Disk nicht im Drive liegt,
  638.    startet die Workbench ihre eigene Show: Ein netter "Please insert
  639.    Disk..."-Requester brennt sich in Eure Phosphorschicht.
  640.    Wenn man "Puffern/Buffering" im Advanced-Options-Fenster aktiviert, ist
  641.    soetwas mit Madhouse nicht m
  642. glich. Madhouse l
  643. dt dann immer einen
  644.    Blanker in sein RAM:Madhouse_Storage-Verzeichnis, das es beim Programm-
  645.    Start automatisch anlegt. Wurde dieser Blanker dann gezeigt, und die
  646.    Diskette mit den Madhouse-Blankern liegt WIRKLICH im Drive (wird vor-
  647.    sichtig gepr
  648. ft), dann l
  649. dt Madhouse einen frischen Blanker nach.
  650.    Wenn Ihr zus
  651. tzlich "@{B}Nach Disk fragen/Ask for Disk@{UB}" anw
  652. hlt, zeigt Euch
  653.    Madhouse mit einem kleinen Fenster auf der Workbench an, da
  654.  der ge-
  655.    pufferte Blanker bereits benutzt wurde und da
  656.  Madhouse darauf lauert,
  657.    da
  658.  die Blankers-Diskette eingelegt wird.
  659.    Ein Klick auf das Schlie
  660. -Gadget dieses kleinen Fensters bewirkt nicht
  661.    nur das Schlie
  662. en des Fensters, sondern stellt auch alle Schn
  663. ffel-
  664.    versuche nach der Diskette ein.
  665.    Madhouse kopiert au
  666. erdem die libs:amos.library in sein Storage-
  667.    Verzeichnis, da die Amos-Blanker diese ben
  668. tigen.
  669. @{FG Highlight}@{B}3. Der "Schwarze Hintergrund/Black Background"@{UB}@{FG Filltext}
  670.    Wer Disketten benutzt, hat sicher schon die oft sekundenlangen
  671.    Ladezeiten der Blanker bemerkt. Wer mehrere Blanker ausgew
  672. hlt hat
  673.    und "Blanker wechseln/Exchange Blankers" benutzt, bekommt beim Blanker-
  674.    wechsel immer kurz die Workbench zu sehen (sofern die Disk mit den
  675.    Blankern im Laufwerk liegt, sonst kann Madhouse ja nicht wechseln).
  676.    Wenn Euch das st
  677. rt, k
  678. nnt Ihr "Hintergrund 
  679. ffnen bzw. Benutzen / open
  680.    Background" aktivieren. Dann bleibt der Screen in den Ladezeiten
  681.    schwarz. Wer zus
  682. tzlich "Info-Texte/and show info-texts" anw
  683. hlt, be-
  684.    kommt auf diesem schwarzen Screen noch die Texte "Lade neuen Blanker/
  685.    Loading new blanker." und das beliebte "Bitte noch etwas Geduld.../Wor-
  686.    king. Please wait..." angezeigt!
  687. @{FG Highlight}@{B}4. Die anderen Optionen: "Other Options"@{UB}@{FG Filltext}
  688.    Das Fenster der erweiterten Optionen bietet auch noch zwei "andere
  689.    Optionen": Beginnen wir mit der interessanteren: "@{FG Highlight}CPU active:@{FG Filltext}"
  690.    Zuerst einmal mu
  691.  erkl
  692. rt werden, da
  693.  verschiedene Programme und
  694.    bestimmte Dinge den Prozessor Eures Computers mehr oder weniger be-
  695.    lasten. Generell kann man sagen, da
  696.  die sog. CPU ausgelastet ist,
  697.    wenn ein Programm etwas tut und Ihr warten m
  698. t. Z.B. bei irgend-
  699.    welchen Rechnungen.
  700. hrend PC-Freaks noch froh sind, wenn sie gleichzeitig einen Text
  701.    Drucken UND eine Diskette formatieren k
  702. nnen, k
  703. nnt Ihr auf Eurem
  704.    Amiga ohne gr
  705. ere Probleme ein Bild berechnen und einen Text schrei-
  706.    ben. Man beachte, da
  707.  das mit dem Amiga 1986 m
  708. glich war, und da
  709.    IBM 1994 mit OS 2 daf
  710. r Werbung macht...
  711.    Also zur
  712. ck. Wenn nun zwei @{I}rechenintensive@{UI} Programme gleichzeitig
  713.    laufen, also praktisch zwei Bilder berechnet werden, werden beide
  714.    Bilder halb so schnell berechnet.
  715.    Und jetzt kommts: Wer ein Bild berechnet und dabei einen
  716.    rechenintensiven Bildschirmschoner laufen l
  717. t, merkt 1. da
  718.    Bild halb so schnell berechnet wird und da
  719.  2. der Blanker halb so 
  720.    schnell l
  721. uft. Und das ist gleich zweifach 
  722. rgerlich.
  723.    Deshalb gibt es in Madhouse das "CPU active:"-Gadget. Es hat drei m
  724.    liche Zust
  725.    - "alle Blanker/use all Blankers" k
  726. mmert sich nicht um die CPU, so da
  727.      der o.a. Fall eintreten k
  728. nnte.
  729.    - "(nur) einfache Blanker/only simple ones" 
  730. berpr
  731. ft die CPU, ist sie
  732.      aktiv wird ein Blanker gestartet, der die CPU fast gar nicht belastet.
  733.      Wurden nur Blanker ausgew
  734. hlt, die viel Rechenzeit ben
  735. tigen, er-
  736.      scheint ein schwarzer Bildschirm und sp
  737. ter die Mitteilung, die auf
  738.      diesen Notstand aufmerksam macht.
  739.    - "nichts anzeigen/show nothing" zeigt den schwarzen Screen immer, wenn
  740.      die CPU besch
  741. ftigt ist.
  742.    Diese Funktion ist 
  743. brigens voll kompatibel zur "Puffern/Buffering"-
  744.    Option. Nur falls der gepufferte Blanker "viel" CPU braucht, ein Progr.
  745.    auch viel CPU braucht und "CPU active:" auf "only simple Blankers"
  746.    steht UND die Disk mit den Blankern nicht im Laufwerk liegt, seht Ihr
  747.    auch den schwarzen Screen.
  748.    Wenn Ihr wissen wollt, wie sowas im Programmcode aussieht, dann fragt
  749.    lieber nicht...
  750.    Wenn Ihr wissen wollt, welche Blanker denn nun rechenintensiv sind und
  751.    welche nicht, hier steht es:@{"die Blanker",link blankers}.
  752.    Mit MUI l
  753. t sich das einfacher herausfinden, einfach auf die "Blan-
  754.    kers"-Seite wechseln und den fraglichen Blanker @{i}einmal@{UI} anklicken.
  755.    Dann wird im Feld "CPU-Belastung/CPU load" folgendes angezeigt:
  756.    - "niedrig/low" wenn der Blanker nicht rechenintensiv ist; und
  757.    - "mittel bis hoch/medium to high" wenn er es ist.
  758.    Die zweite Option dieser Rubrik hei
  759. t "@{FG Highlight}Blanker-Pri@{FG Filltext}" und ist 
  760. ber ein
  761.    (echt niedliches) Cycle-Gadget erreichbar. Wie der Name verspricht,
  762. nnt Ihr damit bestimmen, mit welcher Priorit
  763. t die Blanker laufen
  764.    sollen. Eine Taskpriorit
  765. t kann zwar zwischen -128 und 127 tendieren,
  766.    sinnvoll sind hier aber die Werte 0 und 1. Deshalb das Cycle-Gadget.
  767. r den Fall, da
  768.  zwei Programme gleichzeitig rechnen, hat der
  769.    Amiga die Task-Priorit
  770. ten. Dann wird das Programm mit der h
  771. heren
  772.    Priorit
  773. t zuerst abgearbeitet, das Programm mit der niedrigeren bekommt
  774.    nur noch ganz wenig vom Prozessor. Normalerweise laufen alle Anwendungen
  775.    mit der Priorit
  776.    Rechnet nun also ein Programm (kanonisches Beispiel: Raytracer)
  777.    und ein rechenintensiver Blanker wird mit der Priorit
  778. t 1 gestartet,
  779.    bleibt dieses praktisch stehen. Deshalb sollte man bei "CPU active:" =
  780.    "alle Blanker/use all Blankers" immer 0 w
  781. hlen.
  782.    Da bei "CPU active:" = "(nur) einfache Blanker/only simple Blankers" so-
  783.    wieso nur ein Blanker mit niedriger CPU-Belastung gestartet wird, wenn
  784.    ein Programm rechnet, kann man in diesem Fall ruhig 1 w
  785. hlen. Dann l
  786.    der Blanker viel fl
  787. ssiger und die Anwendung kann trotzdem weiterrech-
  788.    nen. Trotzdem mu
  789.  das nicht die beste Einstellung sein, denn wenn einem
  790.    Programm mitten beim Blanken anf
  791. ngt zu rechnen, geht es ziemlich leer
  792.    aus. Ein Beispiel w
  793. re ein Backup-Programm, was abwechselnd Dateien
  794.    packt und schreibt. Das Packen ist rechenintensiv, das Schreiben weni-
  795.    ger. Wenn nun Madhouse die Prozessorauslastung gerade beim Schreiben
  796. berpr
  797. ft, kann es gut sein, da
  798.  ein Blanker mit hoher CPU-Belastung
  799.    gestartet wird, und das Backup-Programm beim Packen arg verlangsamt
  800.    wird.
  801.    Und dann gibt's noch - vorerst nur f
  802. r MUI-User - den "@{FG Highlight}Sound@{FG Filltext}"-
  803.    Button. Mit ihm l
  804. t sich bestimmen, wie das Sound-System von Madhouse
  805.    arbeiten soll. Auf der Blanker-Seite kann man ja f
  806. r jeden Blanker ein
  807.    Musik-Modul einstellen, was dann nat
  808. rlich irgendwie abgespielt werden
  809.    mu
  810. . Das ist vielleicht total schade, aber ich war tats
  811. chlich zu faul
  812.    einen kompletten Musik-Modul-Abspieler mit 70 unterst
  813. tzen Formaten und
  814.    modularen Konzept auf Assemblerbasis mit diversen Zusatzfunktionen zu
  815.    programmieren. Aus zwei Gr
  816. nden: 1. ich kann kein Assembler (was soll
  817.    man denn noch alles k
  818. nnen, Computer sind in mancherlei Hinsicht echt
  819.    anspruchsvoll), und 2. sowas gibt's schon. (Ok, das Argument zieht nicht
  820.    ganz, es gibt auch schon etliche Screenblanker).
  821.    Deshalb bin ich die Sache anders angegangen: Madhouse spielt nicht, son-
  822.    dern l
  823. t spielen. Dabei kann Madhouse zwei Sound-Quellen ansteuern:
  824.    1. die medplayer.library vom MED-Programmierer Teijo Kinnunen, die sinn-
  825.       gem
  826.  nur MED spielt und
  827.    2. DeliTracker von Delirium Softdesign (Peter Kunath and Frank Riffel).
  828.       Der DeliTracker ist der h
  829. rteste Modul-Player, den ich kenne. Er
  830.       spielt so gut wie alles, und wird per ARexx ferngesteuert.
  831.    Ihr k
  832. nnt nun zwischen einer der Varianten w
  833. hlen, und zwar mittels
  834.    des Sound-Gadgets. Obwohl Madhouse den DeliTracker mittels ARexx steu-
  835.    ert, mu
  836.  dazu nicht das Programm RexxMast aus der System-Schublade
  837.    laufen (darf aber). Die ARexx-Kommunikation zwischen zwei Programmen
  838.    kann vollst
  839. ndig 
  840. ber die rexxsyslib.library erfolgen, die dann auto-
  841.    matsch in Euren Speicher gestopft wird.
  842.    Wenn Ihr also mehr als MED-Module abspielen wollt, dann mu
  843.  die Ein-
  844.    stellung "via DeliTracker" lauten. ("via" hei
  845. brigens "auf dem Wege
  846. ber" und ist damit das lateinische Pendant f
  847. r einen ARexx-Port, blo
  848. rzer!)
  849.    Wer 
  850.    @{B}Es ist mir sehr wichtig, dies auch hier nochmals zu erw
  851. hnen: f
  852. r die
  853.    Sound-Funktionen von Madhouse ist eine Festplatte notwendig, damit die
  854.    betreffende Datei erreichbar ist.@{UB}
  855. @endnode
  856. @node blankers "Alle Blanker in der 
  857. bersicht"
  858. Hier ist der Nachschlageteil f
  859. r unsere Blanker, alphabetisch geordnet
  860. und mit allen n
  861. tigen Infos.
  862.                     @{"      CrazyPixel       ", link b_crazypixel}
  863.                     @{"     DigitalClock      ", link b_digitalclock}
  864.                     @{"         Drops         ", link b_drops }
  865.                     @{"       Fireworks       ", link b_fireworks }      
  866.                     @{"     FlyingToasters    ", link b_flyingtoasters }
  867.                     @{"        Glitter        ", link b_glitter }
  868.                     @{"        Memory         ", link b_memory }
  869.                     @{"         Note          ", link b_note }
  870.                     @{"        Shuffle        ", link b_shuffle }
  871.                     @{"        Skyline        ", link b_skyline }
  872.                     @{"         Soccer        ", link b_soccer }
  873.                     @{"    SoftwareFailure    ", link b_softwarefailure }
  874.                     @{"         Stars         ", link b_stars }
  875.                     @{"        Thunder        ", link b_thunder }
  876.                     @{"         Waves         ", link b_waves }
  877.                     @{"       Worldtime       ", link b_worldtime }
  878. @{FG Highlight}@{B}Bitte beachten:@{UB}@{FG Filltext} Der Duration-Slider und die Gadgets am unteren Rand des
  879. BlankerPrefs-Fensters sind in @{"Referenz/BlankerPrefs-Fenster", link ref_editPrefs} er-
  880. rt. Der Wert des "Dauer/Duration"-Sliders wird nicht mit Okay abgespei-
  881. chert, sondern NUR mit der Save-Funktion im Hauptfenster. Trotzdem mu
  882. dann das BlankerPrefs-Fenster mit Okay verlassen werden, damit der Wert
  883. akzeptiert wird.
  884. @endnode
  885. @node b_crazypixel "Die Blanker in der 
  886. bersicht - CrazyPixel"
  887.                            @{FG Highlight}@{B}CrazyPixel@{FG Filltext}@{UB}
  888.                    Von Aicke Schulz, Version 1.
  889. Dieser Blanker zeigt einen springenden Punkt sowie den Wusel.
  890.                Mode/Modus: schaltet zwischen Wusel und Bouncing Point um.
  891.                            Ist Random ausgew
  892. hlt, wird zuf
  893. llig ein Modus
  894.                            benutzt.
  895.   Wusell
  896. nge/Wusel lenght: ist die L
  897. nge des Wusels.
  898.           Toneffekt/Sound: macht Ger
  899. usche zum Bouncing Point.
  900. Fehlermeldungen: siehe @{"AMOS-Errors",link amos_errors}.
  901. CPU-Belastung: Niedrig.  Speicherverbrauch:160 kB.   Programmgr
  902. e:25 kB.
  903. @endnode
  904. @node b_digitalclock "Die Blanker in der 
  905. bersicht - DigialClock"
  906.                             @{FG Highlight}@{B}DigitalClock@{FG Filltext}@{UB}
  907.                      Von Aicke Schulz, Version 1.
  908. Wie viele andere Blanker hat auch Madhouse eine Uhr. Diese benutzt aber
  909. einen echten Digital-Font, wie er auch bei den beliebten Uhrenradios
  910. zu finden ist. Achtung: Wenn die Uhr falsch geht, dann liegt das ent-
  911. weder daran, da
  912.  die interne Uhr des Amigas falsch gestellt ist oder da
  913. ihr kein Akku zur Verf
  914. gung steht.
  915.   Sprache/Language: Hier k
  916. nnen auch ein deutsches Datum und deutsche Texte
  917.                     f
  918. r diesen Blanker gew
  919. hlt werden.
  920.          Countdown: Wenn dieser Wert nicht Null ist, ert
  921. nt ein Klingeln
  922.                     nach <Countdown> Minuten nach dem Start des Blankers.
  923.         Datum/Date: schaltet das Datum ein.
  924.      Rollen/Scroll: bewegt die Uhr.
  925. Fehlermeldungen: siehe @{"AMOS-Errors",link amos_errors}.
  926. CPU-Belastung: Niedrig.  Speicherverbrauch:180 kB.   Programmgr
  927. e:34 kB.
  928. @endnode
  929. @node b_drops "Die Blanker in der 
  930. bersicht - Drops"
  931.                               @{FG Highlight}@{B}Drops@{FG Filltext}@{UB}
  932.                     Von Aicke Schulz, Version 1.
  933. Tropfen laufen 
  934. ber den Screen. Sie haben unterschiedliche Geschwindigkeit-
  935. en und sind in der Farbe 
  936. nderbar. Aicke hat mit viel Liebe zum Detail
  937. die Drops gezeichnet. Von hunderten von Farbsets sind die sch
  938. nsten aus-
  939. hlt worden. Sie faszinieren mit ihren warmen, hellen Eindr
  940. cken oder
  941. lassen die Gedanken des Betrachters im tiefen Blau versinken. Ohne zu
  942. bertreiben mu
  943.  ich sagen, da
  944.  diese Farben wirklich einmalig in der ge-
  945. samten Welt der Amiga-Screensaver sind. Doch stellen wir sie einzeln vor:
  946. Ocean wird seinem Namen wirklich gerecht. Ocean zeugt noch von der Zeit,
  947. als die Ozeane klar und unverseucht waren. Ein heutiges Ocean halte ich
  948. r unm
  949. glich, m
  950. ten doch Giftm
  951. sser und russische Atom-U-Boote durch-
  952. schimmern. Wine ist von seiner ganzen Farbpracht ein Genu
  953. . Es springt
  954. regelrecht aus dem Monitor und und bezaubert durch die Anmutigkeit der
  955. Farbe. Grass erz
  956. hlt von gr
  957. nen Wiesen, spielenden Kindern und grasenden
  958. Schafen. Grass ist wie ein Tag im Wald, l
  959. t den Zuschauer frei assoziieren
  960. und die Augen mit dem tiefen Gr
  961. n verschmelzen. Caramel: Gold-gelb und
  962. sooooo sanig-s
  963. . Das hat mir mein Gro
  964. vater schon geschenkt. Und was
  965. gebe ich heute meinem Enkel? Fresh erinnert an einen Sonntagmorgen, an
  966. die Str
  967. nde von Miami Beach und Ibiza. So hell ist die Farbe, da
  968.  sich
  969. kaum das Licht darin bricht. Fresh ist frisch. Da soll Aicke mal sagen,
  970. ich w
  971. rde seine Blanker kurz abhandeln... Gr
  972. e an alle Kunstlehrer!
  973.  Anzahl/Number: Anzahl der Drops, die maximal gleichzeitig auf dem Screen
  974.                 sind.
  975.    Farbe/Color: Der absolute MEGA-Mix der 5 Farbpaletten. Random l
  976. t den
  977.                 Blanker selbst w
  978. hlen.
  979. Fehlermeldungen: siehe @{"AMOS-Errors",link amos_errors}.
  980. CPU-Belastung: Niedrig.  Speicherverbrauch:180 kB.   Programmgr
  981. e:17 kB.
  982. @endnode
  983. @node b_fireworks "Die Blanker in der 
  984. bersicht - Fireworks"
  985.                              @{FG Highlight}@{B}Fireworks@{FG Filltext}@{UB}
  986.                     Von Carsten Jahn, Version 1.
  987. Dieser Blanker zaubert ein tolles Feuerwerk auf Euren Bildschirm. Es
  988. stehen vier Effekte zur Verf
  989. gung. Mit den Slidern bestimmt man, wie
  990. oft ein Effekt verwendet wird. Wenn die Slider nicht zu hoch gesetzt
  991. werden, hat FireWorks noch M
  992. glichkeiten, die Farben zu 
  993. ndern. So ent-
  994. stehen immer neue Farben, obwohl kein Effekt "mittendrin" die Farbe
  995. wechseln mu
  996. . Will sagen: man merkt nur, da
  997. tzlich ein neuer Effekt
  998. in einer neuen Farbe erscheint, Effekte, die schon auf dem Screen sind,
  999. werden nicht beeinflu
  1000.          Spiralen/Spirals: bestimmt, wie stark die Spiral-Effekte vertreten
  1001.                            sind.
  1002.             Font
  1003. nen/Jets: bestimmt, wie stark die Font
  1004. nen vertreten sind.
  1005.               B
  1006. lle/Balls: bestimmt, wie stark die Kugeln vertreten sind.
  1007.  Farb-Font
  1008. nen/Color-Jets: bestimmt, wie stark die Mehrfarb-Font
  1009. nen ver-
  1010.                            treten sind.
  1011.   Pixelgeschw./Pixelspeed: Nat
  1012. rlich schafft es Fireworks schneller, wenige
  1013.                            Punkte zu zeichnen als viele. Wenn nur wenige
  1014.                            Punkte auf dem Bildschirm sind, mu
  1015.  Fireworks
  1016.                            deshalb 
  1017. fter Pausen einlegen, damit die Anzeige
  1018.                            nicht optisch langsamer wird wenn mehr Punkte
  1019.                            hinzukommen. Mit Pixelgeschw. kann man nun ein-
  1020.                            stellen, wie gro
  1021.  die Pausen bei wenigen Punkten
  1022.                            werden. Hier mu
  1023.  man einfach etwas herumpro-
  1024.                            bieren, bis der Effekt nicht mehr schneller und
  1025.                            langsamer wird.
  1026. CPU-Belastung: Hoch.  Speicherverbrauch:110 kB.   Programmgr
  1027. e:17 kB.
  1028. @endnode
  1029. @node b_flyingtoasters "Die Blanker in der 
  1030. bersicht - FlyingToasters"
  1031.                            @{FG Highlight}@{B}FlyingToasters@{FG Filltext}@{UB}
  1032.                     Von Carsten Jahn, Version 1.
  1033. Boh ey, guck 'ma da fliegt'n Toaster! Kleine, drollige Wesen mit Fl
  1034. und gl
  1035. henden Toast-Slots schwingen sich 
  1036. ber den Screen. Aus leblosen
  1037. chenknechten werden niedliche Gestalten, aus dem morgendlichen Fr
  1038. werden Hindernisse, schon beginnt der Spa
  1039. . Die auf- und abrutschenden
  1040. Auswurfhebel erschrecken die Toasts auch nicht, keines springt beiseite.
  1041. Folge: jeder 20ste Toaster in Deutschland ist eingeklemmt. Wohin soll das
  1042. noch f
  1043. hren? Was wei
  1044.  ich. Spendet jetzt aber nicht f
  1045. r eingeklemmte
  1046. Toaster, sondern lieber f
  1047. r verkohlte Toasts, die haben ein viel schlimm-
  1048. eres Leben.
  1049. Toaster/Toasters: max. Anzahl der Toasters auf dem Screen.
  1050.           Toasts: max. Anzahl der Toasts auf dem Screen.
  1051.    Geschw./Speed: bestimmt die Geschwindigkeit des Blankers.
  1052.    Marmelade/Jam: schmiert Marmelade, Honig oder Nutella auf die Toasts.
  1053.                   Das perfekte Fr
  1054. Double Buffering: schaltet Double-Buffering ein. Dadurch wird das Flackern
  1055.                   der bewegten Objekte vermieden. Ben
  1056. tigt mehr Speicher.
  1057.                   Ist dieser nicht vorhanden, wird vor dem Totalabbruch
  1058.                   noch ein Versuch ohne diese Option gemacht.
  1059. Leerer Start/Endscreen /
  1060.    In/Out Moving: Ist diese Option abgeschaltet, so erscheinen die Toasters
  1061.                   und Toasts beim Blankerstart pl
  1062. tzlich und sind auch noch
  1063.                   mitten auf dem Screen, wenn der Blanker abbrechen mu
  1064.                   Wird "In/Out Moving" jedoch aktiviert, fliegen die Toasts
  1065.                   und Toasters erst rechts herein, der Blanker beginnt mit
  1066.                   einem schwarzen Bildschirm. Eine den Einstellungen und
  1067.                   Prozessortyp angemessene Zeitspanne vor Ablauf der Dura-
  1068.                   tionzeit werden dann keine neuen Toasts mehr erscheinen,
  1069.                   so da
  1070.  sich der Blanker auch wieder mit einem leeren
  1071.                   Screen verabschiedet.
  1072.                   Das zeitgem
  1073. e Herausfliegen klappt nat
  1074. rlich nur bei
  1075.                   aktiviertem "Blanker wechseln/Exchange Blankers", da
  1076.                   sonst der Blanker ja noch bis ins Jahr 3000 laufen k
  1077.                   te.
  1078. CPU-Belastung: Hoch.  Speicherverbrauch:297 kB.   Programmgr
  1079. e:29 kB.
  1080. @endnode
  1081. @node b_glitter "Die Blanker in der 
  1082. bersicht - Glitter"
  1083.                             @{FG Highlight}@{B}Glitter@{FG Filltext}@{UB}
  1084.                   Von Aicke Schulz, Version 1.
  1085. Glitter ist sicher nicht das Genialste, was Ihr jemals gesehen habt,
  1086. aber trotzdem ganz nett. 
  1087.                Anzahl/Number: Anzahl der Sterne. Dies verlangsamt den
  1088.                               Start des Blankers, jedoch nicht die Ani-
  1089.                               mation.
  1090.   Geschwindigkeit/Cyclespeed: Geschwindigkeit des "Glitterns".
  1091. Fehlermeldungen: siehe @{"AMOS-Errors",link amos_errors}.
  1092. CPU-Belastung: Niedrig.  Speicherverbrauch:218 kB.   Programmgr
  1093. e:15 kB.
  1094. @endnode
  1095. @node b_memory "Die Blanker in der 
  1096. bersicht - Memory"
  1097.                                @{FG Highlight}@{B}Memory@{FG Filltext}@{UB}
  1098.                     Von Aicke Schulz, Version 1.
  1099. Das ist eine gute M
  1100. glichkeit, mal einen Blick in den Speicher des Amiga
  1101. zu werfen. Hier werden alle Daten als Grafik abgebildet. So erscheinen
  1102. die ge
  1103. ffneten Screens und viele andere Dinge, die man nat
  1104. rlich nicht
  1105. erkennt. Da der Amiga nach einem Reset nicht alle Daten l
  1106. scht, sondern
  1107. nur zum 
  1108. berschreiben freigibt, lassen sich oft noch Grafiken eines
  1109. zuvor gestarteten Spiels erkennen - nat
  1110. rlich in die Bitplanes aufge-
  1111. spalten und deshalb zweifarbig. Jedenfalls sieht man immer was Neues...
  1112. brigens wird nur das erste MegaByte ChipRAM angezeigt.
  1113.     Geschwindigkeit/Speed: bestimmt die Geschwindigkeit des Scrollens.
  1114. Fehlermeldungen: siehe @{"AMOS-Errors",link amos_errors}.
  1115. CPU-Belastung: Niedrig.  Speicherverbrauch:180 kB.   Programmgr
  1116. e:14 kB.
  1117. @endnode
  1118. @node b_note "Die Blanker in der 
  1119. bersicht - Note"
  1120.                                 @{FG Highlight}@{B}Note@{FG Filltext}@{UB}
  1121.                     Von Aicke Schulz, Version 1.
  1122. Ganz nach Belieben erf
  1123. llt Note gleich zwei Aufgaben in einem Blanker:
  1124. Einerseits kann den Leuten, die am Computer vorbeigehen oder die etwas vom
  1125. Benutzer des Computers wollen, eine Nachricht angezeigt werden. Anderer-
  1126. seits ist auch der umgekehrte Weg m
  1127. glich, die Anderen k
  1128. nnen eine Mittei-
  1129. lung eingeben und der Benutzer kann sie lesen. Um die Sache abwechslungs-
  1130. reich zum machen, hat Aicke noch drei verschiedene Papier-Typen gezeichnet,
  1131. auf denen wird dann geschrieben und angezeigt.
  1132.  Papier/Paper: Mit diesem Schalter wird der Papier-Typ ausgew
  1133.                "Granit(e)" ist ein Betonklotz, "Mittelalter/Medival" ist
  1134.                ein Mittelalter(-Papier nat
  1135. rlich...) und "gegen/Against
  1136.                AIDS" ist gegen AIDS. Anders als Granit(e) und Mittelalter
  1137.                /Medival ist Against AIDS keine eigene Erfindung, diese
  1138.                Notizbl
  1139. cke gibt's wirklich. Sie sind erh
  1140. ltlich bei der
  1141.                Bundeszentrale f
  1142. r gesundheitliche Aufkl
  1143.                Postfach 910152
  1144.                5000 K
  1145. ln 91 (Sorry - die neue Postleitzahl stand nicht da).
  1146.                Bestell-Nr. 70551000.
  1147.    Modus/Mode: Schaltet zwischen dem Empf
  1148. nger- und Versender-Modus um. Bei
  1149.                "Nachricht geben/Give Message" werden die nebenstehenden
  1150.                Texteingabefelder zur Anzeige eines Textes benutzt. Dabei
  1151.                mu
  1152.  jede Eingabe mit <Return> abgeschlossen werden. "Nach-
  1153.                richt bekommen/Get Message" l
  1154. t die Besucher eintippen und
  1155.                den Benutzer lesen. Wenn "Blanker wechseln/Exchange Blan-
  1156.                kers" nicht aktiv ist, oder der Blanker noch arbeitet wenn
  1157.                der Benutzer zur
  1158. ckkommt, dann kann er den Text noch lesen.Wenn
  1159.                aber die Duration-Zeit von Note um war und ein neuer Blanker
  1160.                gestartet wurde, kann der Benutzer die Nachricht nach dem
  1161.                Wegklicken des Blanker in der Error-List lesen.
  1162. ruhend/Static: Damit sich der Notizzettel nicht in der Phosphorschicht
  1163.                des Monitors einbrennt, l
  1164. t sich mit "Static" die Zeit be-
  1165.                stimmen, nach der der Zettel wieder seine Position wechselt.
  1166.    Textzeilen/
  1167.     Textlines: Dies sind die Schreibfelder. Jedes Schreibfeld steht f
  1168.                eine Zeile auf dem Notizblatt. Bei Against AIDS k
  1169. nnen die
  1170.                letzten drei Zeilen nicht verwendet werden, weil da unten
  1171.                Platz fehlt. Auf einer MUI-Oberfl
  1172. che haben diese Gadgets
  1173.                die Shortcuts 1 bis 7 (linke Spalte) und a bis h (rechte
  1174.                Spalte), c ausgenommen.
  1175. Fehlermelungen: Die Nachricht, wenn dies so eingestellt wurde.
  1176. erdem die 
  1177. blichen @{"AMOS-Fehlermeldungen",link amos_errors}.
  1178. CPU-Belastung: Niedrig.  Speicherverbrauch:210 kB.   Programmgr
  1179. e:48 kB.
  1180. @endnode
  1181. @node b_shuffle "Die Blanker in der 
  1182. bersicht - Shuffle"
  1183.                                @{FG Highlight}@{B}Shuffle@{FG Filltext}@{UB}
  1184.                      Von Carsten Jahn, Version 1.
  1185. Habt Ihr schon einmal einen modularen Screenblanker ohne Shuffle-Modul
  1186. gesehen? Ich nicht... Jedoch ist dieser Shuffler erwartungsgem
  1187.  nicht
  1188. ganz gew
  1189. hnlich. So wird eine AGA-Workbench unterst
  1190. tzt, und mit Grafik-
  1191. karten sollte es zumindest mit einem Register- (d.h. nicht Echtfarb-)
  1192. Modus keine Probleme geben. Bitte ausprobieren. Au
  1193. erdem - und jetzt
  1194. kommt der Hammer - shuffled Shuffle den vordersten Screen nicht nur, son-
  1195. dern restauriert ihn auf Wunsch auch wieder. Da seid Ihr platt, was?
  1196.    Modus/Mode: bestimmt den Shuffle-Modus. "Mischen/Shuffle" ist die Stan-
  1197.                dard-Einstellung. Hier wird der Screen nur geshuffled. Die
  1198.                beiden anderen funktionieren nur mit aktivierter "Blanker
  1199.                wechseln/Exchange Blankers"-Option (Hauptfenster), da der
  1200.                Blanker daf
  1201. r wissen mu
  1202. , wie lange er maximal blanken soll.
  1203.                "Mischen & Aufl
  1204. sung / Shuffle & Restore" Shuffled die
  1205.                H
  1206. lfte der Zeit, danach wird restauriert, also werden die
  1207.                Tiles wieder so verschoben, da
  1208.  alles wieder richtig wird.
  1209.                "Aufl
  1210. sung/Restore" bringt den Screen zuerst (unsichtbar)
  1211.                so durcheinander, da
  1212.  nach der eingestellten Zeit der
  1213.                Screen wie
  1214. der hergestellt ist. Danach wird restauriert.
  1215. Geschw./Speed: bestimmt die Geschwindigkeit. Diese wird f
  1216. r die Zeit-
  1217.                berechnungen (s.o.) mitber
  1218. cksichtigt.
  1219.   Gitter/Grid: schaltet den 3D-Rahmen ein oder aus. Falls die Farben des
  1220.                Bildschirms 
  1221. berhaupt nicht passen (3D-Rahmen w
  1222. rde bl
  1223.                aussehen) benutzt der Blanker nie einen Rahmen.
  1224. Fehlermeldungen: "The "Shuffle & Restore" mode and the "Restore" mode can
  1225. be only used if "Exchange Blanker" is activated." Diese Fehlermeldung will
  1226. uns sagen, da
  1227.  es doch ein User probiert hat, diese Modi ohne "Blanker
  1228. wechseln/Exchange Blankers" zu benutzen.
  1229. CPU-Belastung: Niedrig.  Speicherverbrauch:??? kB.   Programmgr
  1230. e:13 kB.
  1231. (Der Speicherverbrauch von Shuffle h
  1232. ngt sehr stark von der Aufl
  1233. sung des
  1234. zu "shufflenden" Screens und der Mode-Option ab, da hier etwas mehr Spei-
  1235. cherplatz ben
  1236. tigt wird.)
  1237. @endnode
  1238. @node b_skyline "Die Blanker in der 
  1239. bersicht - Skyline"
  1240.                              @{FG Highlight}@{B}Skyline@{FG Filltext}@{UB}
  1241.                     Von Aicke Schulz, Version 1.
  1242. Na Ihr Hinterw
  1243. ldler, wollt Ihr mal was anderes sehen als K
  1244. he und Berge?
  1245. Als Stadtmensch kann ich mir jetzt gar nicht so vorstellen, wie das auf
  1246. dem Land abgeht. Zweiunddrei
  1247. ig Einwohner, eine Schule, einen Lehrer,
  1248. einen Briefkasten, eine Stra
  1249. e, eine Telefonzelle, zwei Amigas?
  1250. Oder habt Ihr etwa PC's? Doch bevor ich Euch nun 
  1251. ber die 20 Nachteile
  1252. eines PC's aufkl
  1253. re, sage ich noch etwas zu Skyline.
  1254. Skyline stellt Hochh
  1255. user dar, wie sie in richtig gro
  1256. en St
  1257. dten vorkommen.
  1258. Weil es aber dunkel ist, sieht man sie nicht. Man sieht nur die Fenster,
  1259. in denen noch Licht an ist. Die Helligkeitswerte f
  1260. r die einzelnen Fenster
  1261. werden 
  1262. ber eine quadratische  Binominalsublimationsfunktion trianguliert,
  1263. die Aicke in n
  1264. chtelanger Kleinarbeit nach ihren Koeffizienten aufgel
  1265. hatte. Dagegen wird der Mond nur auf einer billigen Parabel bewegt.
  1266. Skyline geh
  1267. rt zu den Blankern, deren voller Funktionsumfang nicht auf den
  1268. ersten Blick ersichtlich ist. Deshalb solltet Ihr hier Duration ruhig ein-
  1269. mal hochstellen, dann kommen die vielen Fassadentypen zum Vorschein.
  1270. Die verschiedenen D
  1271. cher kann man gleich bewundern.
  1272. Mond-/Moonphase: Skyline stellt am Horizont einen Mond dar, der sich lang-
  1273.                  sam 
  1274. ber den Screen bewegt. "Zufall/Random" l
  1275. t den
  1276.                  Zufall 
  1277. ber die Gr
  1278. e der Sichel entscheiden, "Ein-
  1279.                  stellung/Setting" macht die Gr
  1280. e einstellbar (mittels des
  1281.                  gleichnamigen Sliders darunter).
  1282.  Einst./Setting: Falls unter Moonphase "Einstellung/Setting" eingestellt
  1283.                  ist, l
  1284. t sich hiermit die Gr
  1285. e der Mondsichel in Prozent
  1286.                  einstellen. 100% entspricht einem Vollmond, 0% einem Neu-
  1287.                  mond.
  1288. Sternfarbe/
  1289.       Starcolor: Die Sterne am Himmel lassen sich in ihrer Farbe beein-
  1290.                  flussen. "Aus/Off" schaltet sie ganz aus, "Zufall/Random"
  1291.                  l
  1292. t den Computer w
  1293. hlen.
  1294.   Anzahl/Number: Anzahl der Sterne.
  1295.         Y-Limit: gibt an, wie weit die Sterne nach unten gehen bzw. in
  1296.                  welcher Bildschirmzeile sich der unterste Stern befinden
  1297.                  darf.
  1298.      Himmel/Sky: schaltet zwischen verschieden Copper-Listen im Hinter-
  1299.                  grund um. "Zufall/Random" ist wieder der Zufallsgenerator.
  1300. Fehlermeldungen: siehe @{"AMOS-Errors",link amos_errors}.
  1301. CPU-Belastung: Niedrig.  Speicherverbrauch:200 kB.   Programmgr
  1302. e:32 kB.
  1303. @endnode
  1304. @node b_soccer "Die Blanker in der 
  1305. bersicht - Soccer"
  1306.                               @{FG Highlight}@{B}Soccer@{FG Filltext}@{UB}
  1307.   Von Carsten Jahn, viele Spieler-Grafiken von Aicke Schulz; Version 1
  1308. Hier mal wieder eine echt innovative Idee: Fu
  1309. ball in den Arbeitspausen
  1310. hat wohl vielen gerade noch gefehlt. Was Bundesliga-Fans bestimmt begei-
  1311. stert, wird wohl auch anderen (mich eingeschlossen...) viel Freude machen.
  1312. Die kleinen Fu
  1313. baller rennen, was das Zeug h
  1314. lt (jedenfalls auf schnelle-
  1315. ren Amigas), um die gegnerische Mannschaft fertigzumachen.
  1316. Ab und zu f
  1317. llt auch mal ein Tor, mangels Sound ist aber leider nicht
  1318. viel von den Fans zu h
  1319. ren. Und hier haben wir auch schon die Aufgabe f
  1320. Euch da drau
  1321. en: anfeuern, mitjubeln, ausrasten. Viel Spa
  1322.  damit.
  1323. Wenn m
  1324. glich (Speicher verf
  1325. gbar) arbeitet Soccer mit Double Buffering.
  1326. Aufstellung Wei
  1327. /Rot /
  1328.    Line-up White/Red: hiermit stellt Ihr die Spieltaktik ein, nach der
  1329.                       die kleinen Erdnuckel spielen.
  1330.                       1. Zahl: Spieler in der Abwehr,
  1331.                       2. Zahl: Spieler im Mittelfeld,
  1332.                       3. Zahl: Spieler im Sturm.
  1333. Torwartsintelligenz/
  1334.  Keeper intelligence: als ob irgendetwas im Computer intelligent w
  1335.                       l
  1336. t sich hier die Intelligenz der beiden Torw
  1337.                       einstellen, was die Ergebnisse nat
  1338. rlich fatal
  1339.                       beeinflu
  1340. CPU-Belastung: Hoch.  Speicherverbrauch:378 kB.   Programmgr
  1341. e:45 kB.
  1342.                      Bei Speichermangel:260 kB.
  1343. @endnode
  1344. @node b_stars "Die Blanker in der 
  1345. bersicht - Stars"
  1346.                                @{FG Highlight}@{B}Stars@{FG Filltext}@{UB}
  1347.                       Von Carsten Jahn, Version 2
  1348. Auch hier ein Blanker, der dem Beobachter den Eindruck gibt, r
  1349. umlich
  1350. in einem unendlichen Weltraum herumzufliegen. Auch hier ein paar Extras:
  1351. re zuerst der R
  1352. rtsgang zu nennen, den viele schon in anderen
  1353. Star-Blankern vermi
  1354. t haben werden. Der absolute Clou ist aber der Dreh-
  1355. Effekt, der sich in H
  1356. ufigkeit, Beschleunigung und Geschwindigkeit
  1357. beeinflussen l
  1358. t. Besonders der "Waschmaschinen-Effekt" (hohe Drehzahl
  1359. bei niedriger Geschwindigkeit) l
  1360. st immer wieder 
  1361. belkeit unter den
  1362. Betrachtern aus... 
  1363. rrah!
  1364. Fast schon be
  1365. ngstigend wirken die Shift-Effekte: die Kamerafahrt durchs
  1366. Sternenfeld ist dann 
  1367. erst kurvenreich.
  1368. Diesen Blanker habe 
  1369. brigens optimiert wie keinen anderen. Besonders die
  1370. Dreheffekte verlangsamen den Blanker kaum, und die Performance insgesamt
  1371. ist schon ganz gut. Wie jeden anderen Blanker habe ich die Stars zwar in
  1372. C geschrieben, aber mit Hilfe des Compiler-Assembler-Listings optimiert.
  1373. Anzahl der Sterne/
  1374.  Number of Stars: 
  1375. h.. Anzahl der Sterne?
  1376. Normale Bewegungen/Normal Movements (Bewegungen auf der Z-Achse):
  1377.          Maximum: max. Fluggeschwindigkeit des Betrachters.
  1378.          Manimum: min. Fluggeschwindigkeit des Betrachters. Negative
  1379.                   Zahlen lassen auch den R
  1380. rtsgang zu.
  1381. ndern/Changes: bestimmt, wie oft die Geschwindigkeit gewechselt wer-
  1382.                   den soll.
  1383.            Start: Startgeschwindigkeit.
  1384. Drehungen/Turns (Bewegungen UM die Z-Achse, Drehungen des Betrachters):
  1385.          Maximum: max. Drehmoment.
  1386. Beschleunigung/
  1387.     Acceleration: Beschleunigung der Drehung.
  1388. ndern/Changes: bestimmt, wie oft die Drehrichtung wechselt.
  1389.            Start: Startgeschwindigkeit.
  1390. Verschiebungen/Shifts (Bewegungen der X- und Y-Achse)
  1391.    Geschw./Speed: Dieser Wert legt fest, wie eng die Kurven sind.
  1392.   Gebrauch/Usage: bestimmt, wie oft der "Kurvenmodus" verwendet wird;
  1393.                   0 = nie, 10 = immer.
  1394.              X/Y: Hiermit wird definiert, ob sich die Verschiebungen
  1395.                   nur auf eine Achse, beide oder gar keine beziegen.
  1396. CPU-Belastung: Hoch.  Speicherverbrauch:70 kB.   Programmgr
  1397. e:11 kB.
  1398. @endnode
  1399. @node b_softwarefailure "Die Blanker in der 
  1400. bersicht - SoftwareFailure"
  1401.                          @{FG Highlight}@{B}SoftwareFailure@{FG Filltext}@{UB}
  1402.                     Von Aicke Schulz, Version 1.
  1403. Tipp, tipp; F10; Compiling; No Errors; Linking; Running: Blink-Blink-Blink.
  1404.  -Zap- "Software Failure - Press left mouse button to continue".
  1405. Von erfolgreichen Programmieren empfohlen: der leichte Absturz f
  1406. Zwischendurch. In H
  1407. llen ist auch das Sechserpack geeignet. F
  1408. r An-
  1409. wender, die nur ausgereifte Software benutzen, bietet sich aber Software-
  1410. Failure f
  1411. r den t
  1412. glichen Gebrauch an. SoftwareFailure simuliert den
  1413. komplexen Ablauf eines Absturzes nur grafisch, was aber den Vorteil hat,
  1414.  man nach dem Blanken weiterarbeiten kann.
  1415. berraschungseffekt nach den Arbeitspausen ist immer wieder t
  1416. dlich!
  1417. Damit sich die Alert-Box aber nicht einbrennt, und damit Nervenschwache
  1418. nicht jedesmal einen Infarkt bekommen, wird der SoftwareFailure noch in
  1419. drei verschiedenen Modi animiert.
  1420.  Effekt/Effect: Mit Effekt kann gew
  1421. hlt werden, was nach einer gewissen
  1422.                 Zeit des Blinkens mit der Alert-Box geschehen soll: 
  1423.                 "Zerflie
  1424. en/Melt" l
  1425. t sie langsam zerflie
  1426. en, "Springen/
  1427.                 Bounce" l
  1428. t sie auf und ab h
  1429. pfen und "Crazy" bewegt die
  1430.                 einzelnen Buchstaben.
  1431.    Warten/Wait: Hier wird die gewisse Zeit (s.o.) bestimmt, in Sekunden.
  1432. Fehlermeldungen: siehe @{"AMOS-Errors",link amos_errors}.
  1433. CPU-Belastung: Niedrig.  Speicherverbrauch:150 kB.   Programmgr
  1434. e:29 kB.
  1435. @endnode
  1436. @node b_thunder "Die Blanker in der 
  1437. bersicht - Thunder"
  1438.                              @{FG Highlight}@{B}Thunder@{FG Filltext}@{UB}
  1439.                     Von Aicke Schulz, Version 1.
  1440. Blitz und Donner im Amiga! Mit realistischem Sound. Wenn es drau
  1441. en kalt
  1442. und Winter ist (kann man das so sagen?...), dann kommt dieser Blanker ge-
  1443. rade richtig. Die Blitze zucken nur so 
  1444. ber den Screen, da
  1445.  man denkt,
  1446. es hat den Monitor zerbr
  1447. selt. Au
  1448. erdem kann man sehr gut die 
  1449. bertra-
  1450. gungsgeschwindigkeit von Wellen mit unterschiedlicher Wellenl
  1451. nge in der
  1452. Luft erkennen: w
  1453. hrend man den Blitz fast sofort sieht, kommt das Ge-
  1454. usch erst sp
  1455. ter. Wie lange die Zeitspanne zwischen Blitz und Donner
  1456. ist, h
  1457. ngt also von der Entfernung des Unwetters ab, die man mit "Distanz/
  1458. Distance" einstellen kann.
  1459.  Einschl
  1460. ge/Flash Interval: Mit dieser Einstellung wird bestimmt, wie oft
  1461.                             die Blitze einschlagen. Es sind jeweils Zeit-
  1462.                             spannen angegeben, die Blitze werden dann in
  1463.                             der gew
  1464. hlten Zeitspanne abgeblitzt.
  1465.           Distanz/Distance: Gibt die Entfernung des Gewitters in Metern an
  1466.                             und bestimmt damit die Zeitspanne zwischen
  1467.                             Blitz und Donner.
  1468.            Toneffekt/Sound: Hiermit kann man die Ger
  1469. usche abschalten,
  1470.                             falls man das mit den Wellenl
  1471. ngen noch nicht
  1472.                             ganz verstanden hat.
  1473. Fehlermeldungen: siehe @{"AMOS-Errors",link amos_errors}.
  1474. CPU-Belastung: Niedrig.  Speicherverbrauch:185 kB.   Programmgr
  1475. e:32 kB.
  1476. @endnode
  1477. @node b_waves "Die Blanker in der 
  1478. bersicht - Waves"
  1479.                                @{FG Highlight}@{B}Waves@{FG Filltext}@{UB}
  1480.      Von Carsten Jahn, viele Farbpaletten von Aicke Schulz; Version 1.
  1481. Dieser Blanker erzeugt Wellen, die so aussehen, als w
  1482. ren sie einem
  1483. ganz genialen Algorithmus entsprungen. Tats
  1484. chlich wird nur ein einfacher
  1485. Trick angewandt, wie er in manchen Demos zu finden ist. Zum besseren Ver-
  1486. ndnis und zum allgemeinen Aha-Effekt will ich ihn erl
  1487. utern: Zuerst wird
  1488. (im Hintergrund) mit 1, 2 oder 3 Pixel dicken Querstreifen ein Farb-
  1489. verlauf auf den Screen gezeichnet. Dann kommt eine Sinus-Funktion daher,
  1490. die aus den Streifen eine Welle macht - hoch, runter, hoch runter, ...
  1491. Weil das Ergebnis noch eindeutig als Sinus-Funktion erkennbar w
  1492. re, wird
  1493. jede Bildzeile noch um eine weitere Sinus-Funktion nach links oder rechts
  1494. verschoben. Jetzt bekommt der Screen seine Farben, die kontinuierlich
  1495. durchlaufen. Zur Steigerung des beliebten W
  1496. rg-Effekts wird der Screen,
  1497. der Anfangs mit 
  1498. bergr
  1499. ffnet wurde, anhand zweier Sinus-Funktionen
  1500. (ach ja..) nach links/rechts und oben/unten verschoben. Nat
  1501. rlich kann
  1502. man keine gew
  1503. hnliche Farbpalette nehmen, sie mu
  1504.  echt terrorm
  1505. ig 'rein-
  1506. hauen. Da bleibt kein Teppich trocken -schluck-.
  1507. Obwohl auch bei diesem Blanker eine Duration-Einstellung bis 30 min.
  1508. glich ist, empfehlen wir aus gesundheitlichen Gr
  1509. nden nicht mehr als
  1510. 6 Minuten. Ob die Krankenkassen f
  1511. r Folgesch
  1512. den zahlen, ist uns nicht
  1513. bekannt. Nebenwirkungen und Gegenanzeigen bitte melden.
  1514. Das Prefs-Fenster ist in zwei Bereiche aufgeteilt. Links findet Ihr die
  1515. Farbpaletten. Waves w
  1516. hlt eine aus, bei der das H
  1517. kchen gesetzt ist. Wer
  1518. hinterh
  1519. ltigerweise alle H
  1520. kchen l
  1521. scht, wird mit einer Zufallspalette
  1522. nicht unter 32 Farben bestraft. Auf der rechten Seite seht Ihr die Ein-
  1523. stellungen zum Zeichnen der Waves:
  1524. Wellengr
  1525. e/WaveSize: beeinflu
  1526. t die gesamt-Dicke der Waves.
  1527.       XWellen/XWaves: bestimmt die Breite der Waves. Kleiner Wert = breite
  1528.                       Waves.
  1529.       YWellen/YWaves: bestimmt die H
  1530. he der Waves. Kleiner Wert = hohe
  1531.                       Waves.
  1532.         XGr
  1533. e/XSize: ist der Maximalausschlag der horizontalen Sinus-
  1534.                       Funktion.
  1535.         YGr
  1536. e/YSize: ist der Maximalausschlag der vertikalen Sinus-
  1537.                       Funktion.
  1538.      XGeschw./XSpeed: legt fest, wie schnell sich der Screen in X-Richtung
  1539.                       bewegt.
  1540.      YGeschw./YSpeed: legt fest, wie schnell sich der Screen in Y-Richtung
  1541.                       bewegt.
  1542. Da jetzt sicher nicht jeder Parameter sonnenklar ist (irgendwie kann man
  1543. die Waves ja auch nicht beschreiben) rate ich zum gr
  1544. ndlichen Auspro-
  1545. bieren. 
  1546. brigens sind manche Farbpaletten bewu
  1547. t NICHT sch
  1548. n, sondern
  1549. dienen dem Abschrecken von diversen Haustieren. Denn Vogelsch***e auf der
  1550. Tastatur ist eine recht unangenehme Sache; Katzen haaren alles voll und
  1551. Hunde lutschen glatt die Leertaste weg. Also Vorsicht!
  1552. brigen halte ich gar nichts von Pa
  1553. wortprogrammen, die den Computer
  1554. vor Fehleingaben durch 
  1555. ber alles trampelnde Katzen sch
  1556. tzen. Ein Pa
  1557. wort h
  1558. lt doch keine Katze davon ab, alles zu verw
  1559. sten!)
  1560. CPU-Belastung: Niedrig.  Speicherverbrauch:212 kB.   Programmgr
  1561. e:14 kB.
  1562. @endnode
  1563. @node b_worldtime "Die Blanker in der 
  1564. bersicht - Worldtime"
  1565.                             @{FG Highlight}@{B}Worldtime@{FG Filltext}@{UB}
  1566.                     Von Aicke Schulz, Version 1.
  1567. Wie h
  1568. ngt man eine Weltkarte auf, ohne sich die Finger am Kartenst
  1569. zu klemmen? Ganz einfach: entweder man l
  1570. t die Karte weg und benutzt den
  1571. Amiga (Buuuh) oder man h
  1572. ngt die Karte mit dem NEUEN, GROSSEN, PRAKTISCHEN,
  1573. PASSGENAUEN @{B}SCHLONZ-Kartenaufh
  1574. ngehandschuh@{UB} auf! (Yeah).
  1575. Der @{B}Schlonz-Arbeitshandschuh@{UB} wurde EXTRA F
  1576. R SOLCHE AUFGABEN ENTWICKELT
  1577. und bietet OPTIMALEN TRAGEKOMFORT. Wir haben uns in einer Berliner Droge-
  1578. riefiliale umgesehen. Ah, da ist ja schon der erste Kunde. Interessiert
  1579. bleibt er vor dem @{B}Schlonz@{UB}-Warensortiment stehen. Eine FREUNDLICHE Ver-
  1580. uferin hilft ihm sogleich: "F
  1581. r welche Aufgabe ben
  1582. tigen Sie denn Ihren
  1583. nftigen @{B}Schlonz@{UB}-Qualit
  1584. tshandschuh? Ich habe doch gleich gemerkt, da
  1585. Sie sich SPONTAN f
  1586. r eines der @{B}Schlonz@{UB}-Produkte entschieden haben!" - "Ja,
  1587. ein @{B}Schlonz@{UB}-Produkt wollte ich schon kaufen, da wei
  1588.  ich schlie
  1589. lich, da
  1590. ich QUALTIT
  1591. T bekomme. Aber spontan ist meine Entscheidung nicht, mein
  1592. NACHBAR hat mir @{B}SCHLONZ@{UB} EMPFOHLEN. Ich suche einen @{B}Schlonz@{UB} f
  1593. r's Karten-
  1594. ngen. Wo ist der nur, f
  1595. hren Sie den etwa nicht?" - "SELBSTVER-
  1596. NDLICH f
  1597. hren wir das gesamten @{B}Schlonz@{UB}-Sortiment. Der zum Kar-
  1598. tenaufh
  1599. ngen ist im Moment DER RENNER. Welche Gr
  1600. e haben Sie denn?" -
  1601. "XL." - "Flupp, da ist er schon. Wollen Sie GR
  1602. N oder ROT?" - "Tjaaa,
  1603. schwere Frage. Ich glaube, zu den Karten pa
  1604. t der gr
  1605. ne @{B}Schlonz@{UB} am
  1606. besten." - "Gute Wahl. Dieser @{B}Schlonz@{UB} wird ihnen noch SEHR LANGE Freude be-
  1607. reiten. Auf Wiedersehen!" F
  1608. r die User, denen die 2,5m x 1.7m - Karten zu
  1609. bersichtlich sind, gibt's aber zum Gl
  1610. ck noch andere Alternativen zu
  1611. unserem @{B}Schlonz@{UB}-Schrott. Einfach Worldtime starten. Als kleiner Gag mit
  1612. GROSSER Wirkung zeigt der @{B}Amiga@{UB} auch noch die Uhrzeiten in den entlegensten
  1613. dten an.
  1614.   Reihenfolge/Order: "Random" zeigt die St
  1615. dte nach dem Zufallsprinzip an,
  1616.                      "One after another" in alphabetischer Reihenfolge.
  1617.         Warten/Wait: bestimmt, wie lange eine Stadt angezeigt wird (in Se-
  1618.                      kunden).
  1619. Stunden, Minuten,
  1620.   Hours und Minutes: ver
  1621. ndert die Zeitverschiebung geben
  1622. ber der MEZ.
  1623.                      F
  1624. r Deutschland m
  1625. t Ihr 0 und 0 einstellen, weil
  1626.                      sich Deutschland voll in Mitteleuropa befindet.
  1627.    Sprache/Language: Hiermit kann man das Datumsformat umschalten.
  1628.                      F
  1629. r Deutschland m
  1630. t Ihr "Deutsch" einstellen.
  1631. Fehlermeldungen: siehe @{"AMOS-Errors",link amos_errors}.
  1632. CPU-Belastung: Niedrig.  Speicherverbrauch:290 kB.   Programmgr
  1633. e:51 kB.
  1634. @endnode
  1635. @node errors "Fehler m
  1636. ssen sein."
  1637.   Jeder, der auch nur ein noch so kleines Programm in einer nicht-BASIC-
  1638. Sprache geschrieben hat, wei
  1639. , was beim Programmlauf alles falsch gehen
  1640. kann. Praktisch jede Funktion des Betriebssystems liefert einen R
  1641. gabewert, der dann eventuell signalisiert, da
  1642.  kein Ergebnis vorliegt.
  1643. Und ein korrektes Programm soll schlie
  1644. lich mehr ausgeben als
  1645. "Fehler: Programmabbruch."
  1646.   Und bei Madhouse k
  1647. nnen zus
  1648. tzlich die Blanker einen Fehler zur
  1649. cklie-
  1650. fern, der dann von Madhouse angezeigt werden mu
  1651.   Tritt ein Fehler bei einem Blanker auf, und er wurde im BlankerPrefs-
  1652. Fenster gestartet, zeigt Madhouse den Fehler unten im Blanker-Prefs-
  1653. Fenster an, welches daf
  1654. r "ausgeklappt" wird.
  1655.   Stellt aber der Blanker einen Fehler fest, nachdem er durch Madhouse
  1656. gestartet wurde (nach Ablauf der Zeitspanne), merkt sich Madhouse erst
  1657. den Fehler, und ruft ggf. einen anderen Blanker auf. Ist keiner der
  1658. ausgew
  1659. hlten mehr 
  1660. brig (oder ben
  1661. tigen die verbliebenen im Moment zuviel
  1662. CPU-Performance, siehe @{"Advanced Options Fenster, 4.", link adv_op}) wird nur
  1663. ein schwarzer Bildschirm angezeigt. Nach Abbruch eines Blankers / des
  1664. schwarzen Bildschirms mit Maus oder Tastatur und evtl. Eingabe des Pass-
  1665. worts wird dem erstaunten Benutzer die @{B}Madhouse-ErrorList@{UB} pr
  1666. sentiert.
  1667. Hier werden alle aufgetretenen Fehler gelistet. Verlassen wird die Liste
  1668. mit dem Schlie
  1669. gadget.
  1670.   Zu den Blanker-spezifischen Fehlern, die nichts mit so profanen Dingen
  1671. wie "Out of memory", "Couldn't open Screen/Window" (beide Fehler sind das
  1672. Resultat von zuwenig Speicher) zu tun haben, findet sich die Erl
  1673. uterung in
  1674. @{"Alle Blanker in der 
  1675. bersicht", link blankers}.
  1676.   In diesem Kapitel m
  1677. chte ich aber noch die Fehler von Madhouse darlegen,
  1678. die nicht sofort verst
  1679. ndlich sind (also lasse ich die "Cannot open Win-
  1680. dow"- und "Couldn't write file"-Fehler weg. 
  1681.   Wenn der MadhouseConfigEd oder Madhouse selbst einen Fehler anzeigt,
  1682. tut es das mit einem Fenster auf der Workbench, welches ein Abort-Gadget
  1683. besitzt. Um das gleich klarzustellen: Dieses Fenster ist ein Easy-Request!
  1684. Wer mit der Bedienung des Gadgets nicht ganz klarkommt, der darf sich ruhig
  1685. fragen, wie wohl ein Difficult-Request funktioniert...
  1686.   In beiden F
  1687. llen wird der Fehlertext angezeigt. Uuuund jetzt geht's los:
  1688. @{B}  Bitte einen KOMPLETTEN Pfad ausw
  1689. hlen,...
  1690.   Please select a COMPLETE path,...@{UB}
  1691. r bestimmte Spezialit
  1692. ten (Buffering) ben
  1693. tigt Madhouse den Namen der
  1694. Diskette/Festplattenpartition, auf der sich die Blanker befinden. Das
  1695. liegt ganz einfach daran, da
  1696.  man nicht abfragen kann, ob z.B. "DF0:" oder
  1697. "//Blankers" gerade im Laufwerk liegt... Das geht nur mit Pfaden wie
  1698. "MadhouseDisk:" oder "MadhouseDisk:Blankers". Also bitte etwas entsprechen-
  1699. des im Path-Gadget des Hauptfensters eintragen.
  1700. @{B}  Die "gadget"-Datei von xy enth
  1701. lt keinen BlankerInfo-Chunk!
  1702.   BlankerInfo-Chunk does not exist!@{UB}
  1703. Die Datei "gadget" des betreffenden Blankers (in seinem Verzeichnis) ist
  1704. fehlerhaft; die BlankerInfo-Informationen fehlen. Madhouse kann nicht
  1705. lesen, ob der Blanker viel CPU-Performance benutzt oder nicht.
  1706. @{B}  Unbekanntes Makro: "xx"!
  1707.   Unknown macro: xx@{UB}
  1708. In der "gadget"-Datei des aufgerufenen Blankers befindet sich ein Makro
  1709. namens xx. Dieses ist leider nicht existent.
  1710. @{B}  Couldn't get a lock on this directory!@{UB}
  1711. Vermutlich wurde im Path-Gadget oder mit dem FileRequester ein falscher
  1712. Pfad eingegeben. Oder ein Diskettenkopierer hat die gesamte Disk gesperrt,
  1713. so da
  1714.  Madhouse nicht darauf zugreifen kann.
  1715. @{B}  Konnte das Verzeichnis "RAM:Madhouse_Storage" nicht anlegen.
  1716.   Couldn't create the subdirectory "Ram:..."@{UB}
  1717. r verschiedene Zwecke wird ein Unterverzeichnis "Madhouse_Storage" in der
  1718. RAM: - Disk angelegt. Das geht aber nur, wenn 1. Ram: 
  1719. berhaupt gemounted
  1720. ist (Normalzustand) und wenn 2. Madhouse nicht bereits gestartet wurde.
  1721. So wird auch eine Doppelt-Inkarnation von Madhouse verhindert.
  1722. @{B}  Madhouse wurde doppelt gestart! Soll es beendet werden?
  1723.   You started Madhouse the second time. Do you want to remove it?@{UB}
  1724. So ein Schlingel: Madhouse doppelt gestartet und gedacht, jetzt kommt alles
  1725. durcheinander, oder was? Nur, damit Ihr im Bilde seid:
  1726. - Das Madhouse, da
  1727.  Ihr eben gestartet habt, hat sich sowieso schon beendet.
  1728. - Das Madhouse, da
  1729.  Ihr vorhin gestartet habt, hat hinterh
  1730. ltigerweise da-
  1731.   von erfahren. Und nun? Naja, der Doppelstart ist eine M
  1732. glichkeit, Mad-
  1733.   house loszuwerden. Einfach den Requester mit "Remove Madhouse" beantwor-
  1734.   ten, und tsch
  1735. . "Do nothing" sieht den Doppelstart eher als einen Un-
  1736.   fall an und macht so weiter wie zuvor.
  1737. @{B}  Die amos.library wurde nicht gefunden...
  1738.   No amos.library@{UB}
  1739. Selbstredend ben
  1740. tigt Madhouse nicht die amos.library, um Himmels Willen!
  1741. Madhouse wollte die amos.library von LIBS:amos.library in sein Storage-
  1742. Verzeichnis auf der Ram:-Disk kopieren. Damit die Blanker vollen Zugriff
  1743. darauf haben. Die Datei LIBS:amos.library war aber nicht vorhanden, was
  1744. zur Folge hat, da
  1745.  der Buffering-Modus ausgeschaltet wird. Jetzt solltet
  1746. Ihr lieber keine AMOS-Blanker (die von Aicke, siehe Blanker-Teil) starten,
  1747. denn die werden die amos-lib erst recht nicht finden k
  1748. nnen, und dann ist
  1749. . Madhouse wurde offenbar falsch installiert.
  1750. @{B}  Konnte die "gadget"-Datei des Blankers "xy" nicht laden!
  1751.   Couldn't load the "gadget"-file!@{UB}
  1752. Die gadget-Datei wird ben
  1753. tigt, um das Fenster zu 
  1754. ffnen. Sie ist nicht
  1755. vorhanden. Diese Datei mu
  1756.  ebenfalls vorhanden sein, damit Madhouse beim
  1757. Einlesen des Blankers-Verzeichnisses Informationen zu diesem Blanker
  1758. erhalten kann.
  1759. @{B}  Probleme mit dem Pa
  1760.   Problems with your password@{UB}
  1761. Dieser Fehler erscheint, falls es jemandem nicht m
  1762. glich war, sein Pa
  1763. wort bei der Sicherungsabfrage einzutippen. Das kann jetzt verschiedene
  1764. nde haben...
  1765. Angenommen, Ihr habt es vergessen (nach 2 Sekunden...), dann sollte ein
  1766. anderes gew
  1767. hlt werden. War der Eingabebildschirm auf einmal weg? Tjaa,
  1768. wer hat denn da <Ctrl>, <Alt>, <Caps Lock> oder 
  1769. hnliches gedr
  1770. ckt? Aus
  1771. Sicherheitsgr
  1772. nden wird bei diesen Qualifiern abgebrochen (stimmt
  1773. wirklich; damit man NICHT einen Trick anwenden kann, den ich aber trotzdem
  1774. nicht verrate - doppelt sicher!). Die Ziffern und Sonderzeichen, die nicht
  1775. mit o.a. Zeichen erreicht werden m
  1776. ssen, gehen aber.
  1777. @{B}  Madhouse ben
  1778. tigt einen Stack von mindestens 4.096 Bytes! ...
  1779.   Need a stack minimum of 4.096!@{UB}
  1780. Der Stack ist ein Bereich im Speicher des Amiga, der f
  1781. r jedes Programm
  1782. bei seinem Start von AmigaDOS reserviert wird. Das gestartete Programm
  1783. hat keinen Einflu
  1784.  auf dessen Gr
  1785. e, weil er kurz vor dem Start des
  1786. Programms eingerichtet wird.
  1787. Die ben
  1788. tigte Gr
  1789. e von 4096 Bytes ist bei Amiga-Programmen eigentlich
  1790. der Standard, deshalb sollte man Madhouse von 
  1791. berall her aufrufen
  1792. nnen. Falls dieser Fehler trotzdem auftritt, erkl
  1793. re ich Euch nun, wie
  1794. man die verschiedenen Programme doch dazu 
  1795. berreden kann, Madhouse
  1796. korrekt zu starten.
  1797. Die Workench merkt sich die Stack-Gr
  1798. e der Programme in ihrem Icon.
  1799. Also Madhouse 1x anklicken und im "Icon"- bzw. "Piktogramm"- Men
  1800. Workbench "Information" ausw
  1801. hlen. Ein Fenster 
  1802. ffnet sich, in dem sich
  1803. auch ein Number-Gadget namens "Stack:" befindet. Hier 4096 eintragen
  1804. und mit "Save" bzw. "Speichern" verlassen.
  1805. Die Shell startet ihre Programme immer mit dem aktuellen Stack, der
  1806. r jedes Shell-Fenster variieren kann. Also Shell 
  1807. ffnen, "stack 4096"
  1808. eingeben und Madhouse mit z.B. "run Work:Madhouse/Madhouse" starten.
  1809. Wer Madhouse mit dem Toolmanager startet, der findet im 
  1810. ndere Programm-
  1811. Objekt-Fenster auch hier ein Stack-Gadget.
  1812. @{B}  Bug #1 in program!@{UB}
  1813. Bitte schreibt mir, wenn dieser Fehler auftritt!!
  1814. @{B}  Auf deiner 1.3-Sch
  1815. ssel l
  1816. uft Madhouse nicht!@{UB}
  1817. -Schluck!- ist dies etwa ein 1.x-Amiga?!
  1818. Ey Leute, es gibt doch wirklich f
  1819. r JEDES Amiga-Modell eine Kickstart-
  1820. stung auf 2.0!! 93% aller PD-Software, die ich benutze, braucht
  1821. OS 2.0! Und jedes 3. kommerzielle Programm auch! Wie kann man es auf dem
  1822. Amiga ohne OS 2.0 aushalten, wenn man nicht nur spielt? OS 2.0 ist soooo
  1823. toll und vergleichsweise billig!
  1824. r pure Einsteiger, die vor ein paar Monaten ihren Amiga gekauft haben:
  1825. OS 2.0 hei
  1826. t das Betriebssystem, und Euch hat man einen Amiga ange-
  1827. dreht, der nicht mal auf dem Stand von vor 5 Jahren ist. Besorgt Euch
  1828. also das Upgrade. OS hat nichts mit IBM zu tun :-> sondern ist von Commo-
  1829. dore.
  1830. Wer meint, OS 2.0 zu haben und bekommt diesen Fehler, der hat ein echtes
  1831. Problem...
  1832. Wer gerade losrennen will, um OS 2.0 zu kaufen, der kann sich auch gleich
  1833. das aktuellere 3.1 besorgen.
  1834. @{B}  Die "gadget"-Datei dieses Blankers kann nicht gelesen werden. Dazu
  1835.   wird eine neuere Madhouse-Version ben
  1836. tigt.
  1837.   Cannot read the "gadget"-file of this blanker! (You need a newer Version
  1838.   of Madhouse)@{UB}
  1839. Die erste Zeile der "gadget"-Datei dieses Blankers hat nicht den Inhalt
  1840. "Madhouse, Blankerwindow-Def V1". Entweder Schreibfehler oder Eure Mad-
  1841. house-Version ist 
  1842. berholt. (Ich denke nicht, da
  1843.  ich am Dateiaufbau mal
  1844. ndern werde. Wenn neue Chunks hinzukommen, ist das noch lange kein
  1845. Grund, da
  1846.  die alten Files inkompatibel werden m
  1847. ssen - dazu habe ich
  1848. mir das ja extra so ausgedacht.)
  1849. @{B}  File mismatch: Chunk "Dimensions" must be the first chunk!@{UB}
  1850. Dieser Chunk mu
  1851.  der vor allen anderen Chunks stehen!
  1852. @{B}  BlankerPrefs-window too big for this screen!@{UB}
  1853. Die Workbench ist zu klein f
  1854. r diese Prefs-Fenster. Oder Schreibfehler
  1855. in der "gadget"-Datei dieses Blankers (Stichwort "CHUNK:WINDOW").
  1856. @{B}  Enter a higher value in "CHUNK:DIMENSIONS" - Gadgets!@{UB}
  1857. Nicht nachdenken, ... machen!
  1858. @{B}  Der Chunk MUI-PREFSORDER ist falsch.
  1859.   Wrong Statements in CHUNK:MUI-PREFSORDER.@{UB}
  1860. Im Chunk "MUI-PREFSORDER" stehen falsche Sachen drin.
  1861. @{B}  Konnte den Config-Editor nicht erreichen.
  1862.   Couldn't access the Config-Editor.@{UB}
  1863. Madhouse wollte den MadhouseConfigEd starten, also das Programm, mit dem
  1864. man die Madhouse-Einstellungen 
  1865. ndern kann. Damit Madhouse den ConfigEd
  1866. starten kann, mu
  1867. chst Madhouse wieder beendet werden, da die Pfad-
  1868. angabe zum ConfigEd nur beim Programmstart ausgelesen wird.
  1869. Um Madhouse zu beenden, mu
  1870.  man zun
  1871. chst wissen, ob es 
  1872. berhaupt l
  1873. - Wenn Madhouse gerade erst seit wenigen Sekunden l
  1874. uft und man nicht
  1875.   "Madhouse" im Tools/Hilfsmittel-Men
  1876.  aufgerufen hat, und diese Meldung
  1877.   erscheint, dann mu
  1878.  sich Madhouse sowieso sofort nach Best
  1879. tigung des
  1880.   Requesters beenden, da es ohne Einstellungen keine Chance hat.
  1881. - Wurde diese Meldung durch die Auswahl von "Madhouse" im Tools/Hilfs-
  1882.   mittelmen
  1883.  "provoziert", dann lagen offenbar schon die korrekten Ein-
  1884.   stellungen vor. Madhouse mu
  1885.  nun beendet werden. Dies kann 
  1886. ber das
  1887.   Exchange-Programm oder durch den erneuten Programmstart und an-
  1888.   schlie
  1889. endem "Remove Madhouse" geschehen.
  1890. Ob sich Madhouse nach diesem Requester beenden mu
  1891. , ist auch dem Requester-
  1892. Text zu entnehmen, der auf diese Situation angepa
  1893. t wird. Ob Madhouse
  1894. gerade l
  1895. uft oder nicht, l
  1896. t sich jederzeit einfach durch einen Blick
  1897. ins Tools-Men
  1898.  feststellen.
  1899. Nun sollte man im ToolType "CONFIGED" von Madhouse den Pfad und Namen des
  1900. ConfigEds eintragen.
  1901. Will man Madhouse nicht mit der Workbench, sondern von der Shell starten,
  1902. so wird der ConfigEd im Programmverzeichnis von Madhouse angenommen. In
  1903. diesem Fall k
  1904. nnen die ToolTypes meines Wissens nach nicht ausgelesen
  1905. werden.
  1906. @{B}  Der MadhouseConfigEd kann nur von Madhouse selbst gestartet werden.@{UB}
  1907. Klare Sache: der ConfigEd l
  1908. t sich nur 
  1909. ber das Hilfsmittel- / Tools-Men
  1910. der Workbench starten, nicht direkt durch den User. Diese Einschr
  1911. nkung
  1912. te sein, da Madhouse und der ConfigEd beide das Madhouse_Storage-
  1913. Verzeichnis in der Ram-Disk benutzen. Wenn beide gleichzeitig laufen oder
  1914. Madhouse nicht gestartet wurde, kann es zu Kollisionen kommen.
  1915. @endnode
  1916. @node amos_errors "Die AMOS-Pro-Fehlernummern und ihre Bedeutung"
  1917. Dieses Kapitel beschreibt die Fehlernummern, die von den AMOS-Blankern
  1918. angezeigt werden, wenn etwas nicht klappte. (Dieses Kapitel kann nur
  1919. aus den Blanker-Beschreibungen der AMOS-Blanker abgerufen werden, des-
  1920. halb k
  1921. nnt Ihr Euch jetzt sicher sein, da
  1922.  der Blanker ein AMOS-Blanker
  1923. ist.)
  1924. Zuerst mu
  1925.  noch gesagt werden, da
  1926.  ein bestimmter Fehler nicht als Nummer,
  1927. sondern als Klartext in der Errorlist / im BlankerPrefs-Fenster angezeigt
  1928. wird. Er lautet "@{B}Out of memory.@{UB}" und signalisiert, da
  1929.  nicht ge-
  1930. gend freier Speicher zur Verf
  1931. gung stand, um den Blanker zu starten.
  1932. In den anderen AMOS-Fehlern steht etwas von einer AMOSPro-Errornumber, und
  1933. diese Numbers bekommen gleich eine Bedeutung. Da jedoch das AMOS-Pro-Hand-
  1934. buch 13 Seiten 
  1935. ber dieses Thema enth
  1936. lt, z
  1937. hle ich hier nur die Fehler
  1938. auf, die sich von Euch beheben lassen.
  1939. @{B}Nummer Beschreibung@{UB}
  1940. @{FG Highlight} 30    Falsches IFF-Format.@{FG Filltext} Vielleicht konnte man diesem Blanker den
  1941.        Dateinamen eines Bildes 
  1942. bergeben, das er laden sollte. Diese
  1943.        Bilddatei ist jedoch in Wirklichkeit eine Datei anderen Typs.
  1944. @{FG Highlight}187    Kann die med.library nicht laden.@{FG Filltext} Dieser Blanker wollte wohl Musik
  1945.        abspielen, und ohne med.library geht das (fast) nicht. Keiner
  1946.        von Aickes AMOS-Blankern ben
  1947. tigt diese Library, weshalb sie auch
  1948.        nicht in Madhouse enthalten ist.
  1949. @{FG Highlight} 32    Das IFF-Bild pa
  1950. t nicht auf den Bildschirm.@{FG Filltext} Eigentlich ein Fehler
  1951.        wie Nummer 30, an Eurem Bild stimmt etwas nicht.
  1952. @{FG Highlight} 86    Ger
  1953. t (=Diskette) nicht verf
  1954. gbar.@{FG Filltext} Auch diese Fehlermeldung kann
  1955.        nur von einem Blanker kommen, der die Eingabe eines Dateinamens
  1956.        erlaubt. Ohne Buffering darf man hier den gesamten Pfad eingeben,
  1957.        weil dann die Diskette (h
  1958. chstwahrscheinlich die Festplatte) immer
  1959.        "eingelegt" sein mu
  1960. . Mit Buffering mu
  1961.  man seine Datei in das Un-
  1962.        terverzeichnis des Blankers kopieren und nur den Dateinamen ange-
  1963.        ben. Wenn das so geschehen ist, arbeitet der Blanker nicht nach
  1964.        der Madhouse-Konvention aus @{"Das Blanker-Unterverzeichnis", link p_dir }.
  1965. @{FG Highlight}101    Diskettenfehler.@{FG Filltext} Hier ist wohl die Diskette/Festplatte mehr oder
  1966.        weniger kaputt.
  1967. @{FG Highlight} 88    Diskette voll.@{FG Filltext} Dieser Fehler kann eigentlich nur entstehen, wenn ein
  1968.        AMOS-Blanker gerade seine Fehlermeldung in RAM:Madhouse_Storage ab-
  1969.        legen wollte. Der Speicher ist wohl so knapp, da
  1970.  selbst eine kleine
  1971.        Datei nicht mehr in den Speicher pa
  1972. t. Vermutlich ist der Speicher
  1973.        dann auch so knapp, da
  1974.  Madhouse diesen Fehler gar nicht anzeigen
  1975.        kann. Und dieser Fehler kann ja auch nur 
  1976. ber die RAM:-Disk an Mad-
  1977.        house 
  1978. bermittelt werden. Also ist DAS hier der Fehler und nicht
  1979.        irgendein anderer, der diesen Fehler ausl
  1980. ste. Ein Fehler, der nur
  1981.        beim Schreiben eines anderen Fehlers auftritt, mu
  1982.  hier eigentlich
  1983.        nicht mehr erw
  1984. hnt werden. So einen Fehler darf man ja eigentlich
  1985.        noch nicht einmal abfragen, oder habt Ihr eine Ahnung, was passiert,
  1986.        wenn beim Schreiben des Fehlers ein Schreibfehler auftritt, der dann
  1987.        auch geschrieben wird und sicherlich seinerseits den n
  1988. chsten
  1989.        Schreibfehler verursacht?!
  1990.        Ach, verge
  1991. t es.
  1992.        Tats
  1993. chlich gibt es auch hier den Sonderfall 48d (siehe Problem-
  1994.        kapitel) mit der statischen Ram-Disk als RAM:. Falls Eurer Stat-Ram
  1995.        also gerade das letzte Byte allegegangen ist, (bei den Typen, bei
  1996.        denen man den max. Speicherverbrauch angeben kann/mu
  1997. ), dann ist
  1998.        ist dieser Fehler auch hier m
  1999. glich.
  2000. @{FG Highlight} 81    Datei nicht gefunden.@{FG Filltext} Entweder habt Ihr eine Datei gel
  2001. scht, die der
  2002.        Blanker unbedingt ben
  2003. tigt, oder Ihr habt Euch bei einem eigenen
  2004.        Dateinamen vertippt.
  2005. @{FG Highlight} 44    Font (Schriftfamilie) nicht verf
  2006. gbar.@{FG Filltext}
  2007. @{FG Highlight} 31    IFF-Kompressionsalgorithmus unbekannt.@{FG Filltext} Abhilfe: Die eigene IFF-Datei
  2008.        in ein Malprogramm laden und gleich wieder unter demselben Namen
  2009.        abspeichern. Diesen Vorgang mit allen zur Verf
  2010. gung stehenden Mal-
  2011.        programmen und Bildbearbeitungen wiederholen, bis der Fehler nicht
  2012.        mehr auftritt.
  2013. @{FG Highlight} 82    Buchstabensalat im Dateinamen.@{FG Filltext} Da hat sich einer m
  2014. chtig vertippt,
  2015.        denn dieser Dateiname pa
  2016. t noch nicht einmal von Format her zu
  2017.        AmigaDOS. (Beispiel: "Work:Bla:Hallo")
  2018. @{FG Highlight} 93    Keine Diskette im Laufwerk.@{FG Filltext} Siehe Fehler 86.
  2019. @{FG Highlight} 92    Keine AmigaDOS-Diskette.@{FG Filltext} Wirkung wie 101.
  2020. @{FG Highlight}186    Kein Tracker-Modul.@{FG Filltext} Hier konnte man wohl den Dateinamen eines Noise-
  2021.        Tracker-kompatiblen Musikmoduls angeben. Diese Datei ist nicht kom-
  2022.        patibel.
  2023. @{FG Highlight}  0    Kein freier Raum im Stack mehr.@{FG Filltext} Abhilfe: in einem Editor (z.B. c:ed)
  2024.        die "gadget"-Datei laden, die im Verzeichnis des Blankers steht, der
  2025.        den Fehler verursacht hat. In der Datei nach einem Text
  2026.        "CHUNK:BLANKERINFO" suchen. Vier Zeilen darunter befindet sich eine
  2027.        gro
  2028. e Zahl, z.B. 5000. Daraus jetzt z.B. 9000 oder mehr machen.
  2029.        Die ver
  2030. nderte Datei abspeichern und das Madhouse-Hauptfenster
  2031.        
  2032. ffnen. Jetzt in das Path-Gadget klicken und <Return> dr
  2033. cken. Nun
  2034.        sollte der Blanker funktionieren, wenn nicht, die Zahl noch gr
  2035.        w
  2036. hlen.
  2037.        Ein Versuch mit absichtlich zu niedrigem Stack zeigte, da
  2038.  der Blan-
  2039.        ker zwar tolle Probleme (recoverable Alert, Mauszeiger bleibt ste-
  2040.        hen) verursacht, aber nicht diesen Fehler erzeugt. Trotzdem ist dann
  2041.        die Vorgehensweise richtig, um einen eigenen Blanker zum Laufen zu
  2042.        bringen.
  2043. @endnode
  2044. @node buffering "Alles 
  2045. ber die Buffering-Option!"
  2046.   Da h
  2047. ngt nun so ein kleiner Haken im Advanced-(Options-Fenster) rum...
  2048. was kann der schon machen? Und wer ihn einfach ausprobiert, wird auch
  2049. kaum etwas merken. Doch der unscheinbare Haken ist ein starker Vorteil
  2050. r jeden, der die Blanker auf eine Diskette installiert hat.
  2051.   Denn man kann eine Diskette bekanntlich aus dem Laufwerk nehmen.
  2052. Wenn dann ein Programm darauf zugreift, erscheint ein Requester, der
  2053. Euch freundlich auffordert, diese Disk einzulegen. W
  2054. hrenddessen ist das
  2055. aufrufende Programm praktisch "leblos".
  2056.   Das Dilemma: Den meisten Programmen ist es egal, ob sie ihre Disk nun
  2057. gleich oder ein paar St
  2058. ndchen sp
  2059. ter kriegen. Madhouse nicht, denn wenn
  2060. geblankt werden mu
  2061. , dann gleich.
  2062.   Also wird sicherheitshalber ein Blanker in die Ram:-Disk kopiert, wo
  2063. er auch erreichbar ist, wenn die Disk nicht da ist. Das macht Madhouse
  2064. nur bei eingeschaltetem Buffering. Ist die Disk aber doch da, kann ein
  2065. Blanker von dort nachgeladen werden, falls der Blanker im Speicher schon
  2066. benutzt wurde. Wenn die Disk aber nicht da ist, geblankt wurde, der User
  2067. abbricht, evtl. ein Pa
  2068. wort eingegeben wird, dann ggf. die Fehlermel-
  2069. dungen der Blanker in der Errorlist vom User best
  2070. tigt wurden, die Disk
  2071. immer noch nicht da ist, im Advanced-Options-Fenster "Nach Disk fragen /
  2072. Ask for Disk" gew
  2073. hlt wurde UND wenn der Speicher dazu reicht, wird noch
  2074. ein kleines Fenster auf der Workbench oder dem aktuellen PublicScreen
  2075. ffnet, welches auf diesen Zustand aufmerksam macht...  
  2076.   Zus
  2077. tzlich wird die amos.library auf die RAM:-Disk kopiert, damit die
  2078. AMOS-Blanker eine haben, wenn sie sie brauchen.
  2079.   Wenn ein Blanker es erlaubt, einen Dateinamen einzustellen (ist momen-
  2080. tan noch nicht der Fall) dann @{B}m
  2081. ssen@{UB} Disketten-User diese Datei
  2082. in das Blankerunterverzeichnis kopieren, weil sie nur dort ggf. in die
  2083. Ram:-Disk gerettet wird. Im Stringgadget dieses BlankerPrefs-Fensters mu
  2084. dann nur der Dateiname eingetragen werden, ohne Pfad. Bei einer Eingabe
  2085. von FileXY sucht der Blanker also nach RAM:Madhouse_Storage/FileXY oder
  2086. Work:Madhouse/Blankers/NiceBlanker/FileXY, je nachdem, von wo er gestartet
  2087. wurde.
  2088.   Aber das ist - wie gesagt - momentan noch unwichtig, da im Moment keine
  2089. Blanker existieren, die nach Dateinamen fragen. 
  2090. @endnode
  2091. @node reference "Der Referenz-Teil"
  2092.   Dieser Teil der Madhouse-Anleitung dient dem Nachschlagen der Gadgets
  2093. einzelner Fenster.
  2094. @{B}Ohne MUI:@{UB}
  2095.                @{"        Das Hauptfenster        ",link ref_mainwin}
  2096.                @{"    Das BlankerPrefs-Fenster    ",link ref_editPrefs}
  2097.                @{"  Das Advanced-Options-Fenster  ",link adv_op}
  2098.                @{"         Die Error-List         ",link errors}
  2099.                @{"     Das AskForDisk-Fenster     ",link ref_littlewin}
  2100. @{B}Mit MUI:@{UB}
  2101.                @{"        Das Hauptfenster        ",link ref_muimainwin}
  2102.                @{"    Das BlankerPrefs-Fenster    ",link ref_editPrefs}
  2103.                @{"         Die Error-List         ",link errors}
  2104.                @{"     Das AskForDisk-Fenster     ",link ref_littlewin}
  2105. @{B}Tooltypes@{UB}
  2106.                @{"           CONFIGED            ",link tt_configed}
  2107.                @{"           QUIETQUIT           ",link tt_quietquit}
  2108. @endnode
  2109. @node tt_configed "Referenz: Tooltypes - CONFIGED"
  2110. CONFIGED
  2111. Der komplette Pfad des MadhouseConfigEd mu
  2112.  direkt hinter dem "=" ange-
  2113. geben werden. Beispiel:
  2114. CONFIGED=Work:Madhouse/MadhouseConfigEd
  2115. Neben dem "=" d
  2116. rfen keine Leerzeichen stehen.
  2117. @endnode
  2118. @node tt_quietquit "Referenz: Tooltypes - QUIETQUIT"
  2119. QUIETQUIT
  2120. Wenn dieser Tooltype eingeschaltet ist, nervt Euch Madhouse nicht mit einem
  2121. Sicherungsrequester, wenn Ihr es durch erneuten Start beenden wolltet.
  2122. Wer den Requester haben will, mu
  2123.  diesen Tooltype entfernen oder in
  2124. Klammern setzen.
  2125. @endnode
  2126. @node ref_mainwin "Referenz: Das Hauptfenster"
  2127. @{B}I. Wie man dieses Fenster 
  2128. ffnet.@{UB}
  2129. Um dieses Fenster zu 
  2130. ffnen, mu
  2131.  man zuerst auf die Workbench klicken und
  2132. dann deren Tools- (Hilfsmittel-) Men
  2133. hlen. Darin befindet sich der Ein-
  2134. trag "Madhouse". Nach dessen Answahl 
  2135. ffnet sich dann das Fenster.
  2136. @{B}II. Die Gadgets@{UB}
  2137. Witzigerweise wird hier jedes Gadget durch ein Gadget repr
  2138. sentiert.
  2139. Bei Anklick Infos.
  2140.                        Edit @{"   Prefs...  ",link main_edit}
  2141.                        @{"   Listengadget   ",link main_list}
  2142.                   Pfad/Path @{"Work:Tools/Ma",link main_path}
  2143.               @{" Weitere Optionen/Advanced Options ",link main_advOpt}
  2144.                   Zeit/Time @{"   |         ",link main_time}
  2145.                        @{"   ",link main_changeBl} Blanker wechseln/ Exchange Blankers
  2146.                        @{"  Speichern/Save  ",link main_save}
  2147.                        @{"   Benutzen/Use   ",link main_use}
  2148.                        @{" Entfernen/Remove ",link main_remove}
  2149.                        @{"       Info       ",link main_info}
  2150. @{B}III. Wie man die Einstellungen speichert.@{UB}
  2151. Auf "Sichern/Save" klicken.
  2152. @{B}IV. Wie man das Fenster schlie
  2153. t.@{UB}
  2154. Dazu dienen die Gadgets "Speichern/Save" und "Benutzen/Use". Achtung:
  2155. solange diese Fenster, das Advanced-Options-Fenster oder die Error-List
  2156. offen ist, wird Madhouse nach Ablauf der Zeit keinen Blanker starten.
  2157. @endnode
  2158. ## The Gadgets
  2159. @node main_edit "Referenz - Hauptfenster: Edit"
  2160. Dieses Gadget beeinflu
  2161. t nur die Liste. Man kann hier zwischen der
  2162. Funktion der Liste umschalten. Es gibt zwei M
  2163. glichkeiten: "Selection/Aus-
  2164. wahl" schaltet die Liste in den Blanker-Auswahl-Modus. Jetzt kann man w
  2165. len, welche Blanker gezeigt werden sollen, wenn die Zeit nach einer
  2166. Schaffensphase um ist.
  2167. Ist "Einstellung/Prefs..." aktiv, bewirkt ein Klick in die Blanker-Liste
  2168. ffnen das BlankerPrefs-Fensters f
  2169. r diesen Blanker.
  2170. Ist das Gadget schraffiert und damit unbrauchbar gemacht, dann ist ein
  2171. falscher Pfad eingestellt.
  2172. Weitere Infos in @{"Der Workshop", link workshop}, Punkt 5.
  2173. @endnode
  2174. @node main_list "Referenz - Hauptfenster: Das Listengadget"
  2175. Die Liste ist mit dem Edit-Gadget verbunden. Wenn im Edit-Gadget "Einstel-
  2176. lung/Prefs..." eingestellt ist, zeigt die Liste die Namen aller Blanker.
  2177. Ein Klick auf einen Namen 
  2178. ffnet das BlankerPrefs-Fenster, in dem die
  2179. Einstellungen f
  2180. r diesen Blanker gesetzt werden k
  2181. nnen.
  2182. Steht das Edit-Gadget jedoch auf "Auswahl/Selection", erscheinen vor den
  2183. Namen jeweils "
  2184.  " oder "  ". Ein "
  2185.  " bedeutet, da
  2186.  dieser Blanker ver-
  2187. wendet wird, ein "  " markiert einen ausgeschalteten Blanker. Durch Klick
  2188. auf die Namen wechseln die Blanker zwischen den verschiedenen Betriebszu-
  2189. nden. Es mu
  2190.  mindestens ein Blanker eingeschaltet bleiben.
  2191. Nur aus eingeschalteten Blankern wird dann im Lotterie-Verfahren einer
  2192. zum Blanken ausgew
  2193. Ist die Liste schraffiert dargestellt (geht nur unter OS3.0) oder reagiert
  2194. sie nicht, oder ist sie leer, dann stimmt der Pfad nicht. Bei Path
  2195. korrigieren.
  2196. Es kann sein, da
  2197.  etwas am Blankers-Verzeichnis ge
  2198. ndert wurde und Mad-
  2199. house noch den alten Verzeichnisinhalt anzeigt. In diesem Fall braucht
  2200. man nur den Cursor in das Path-Gadget setzen (anklicken) und <Return> zu
  2201. cken. Wenn zus
  2202. tzlich abgespeichert wird, sind die Einstellungen auch
  2203. beim n
  2204. chsten Programmstart wieder vorhanden.
  2205. Weitere Infos in @{"Der Workshop", link workshop}, Punkt 5.
  2206. @endnode
  2207. @node main_path "Referenz - Hauptfenster: Pfad/Path"
  2208. Wenn das "Benutzen/Use"-gadget und einige andere unzug
  2209. nglich sind, wurde
  2210. ein falscher Pfad eingestellt. In diesem Gadget mu
  2211.  der Pfad eingetragen
  2212. werden, in dem Madhouse seine Blanker sucht. Normalerweise endet der Pfad
  2213. mit /blankers, sofern der Name dieses Verzeichnisses nicht ge
  2214. ndert wurde.
  2215. Madhouse erkennt den Pfad 
  2216. brigends nur als richtig, wenn sich noch die
  2217. Datei "the_right_drawer" darin befindet.
  2218. Der Pfad mu
  2219.  absolut sein, d.h. den Namen der Diskette enthalten.
  2220. @endnode
  2221. @node main_advOpt "Referenz - Hauptfenster: Weitere Optionen/Advanced Options"
  2222. Madhouse hat mehr Optionen als in ein Hauptfenster passen... Deshalb gibt
  2223. es noch die Weiteren Optionen/Advanced Options, was nichts mit Chipsets zu
  2224. tun hat. Nach einem Klick auf den Button 
  2225. ffnet sich ein Fenster mit satten
  2226. 9 Gadgets zum Einstellen bestimmter Dinge, die Madhouse zu etwas Besonderem
  2227. machen. Die erkl
  2228. re ich aber nicht hier, sondern in @{"Die Advanced Options", link adv_op}.
  2229. @endnode
  2230. @node main_time "Referenz - Hauptfenster: Zeit/Time"
  2231. Nachdem die letzte Eingabe schon eine bestimmte Zeit her ist, wird der
  2232. erste Blanker gestartet. Diese Zeit kann mit dem "Zeit/Time"-Slider einge-
  2233. stellt werden. Die Zeit wird in Sekunden gemessen.
  2234. @endnode
  2235. @node main_changeBl "Referenz - Hauptfenster: Blanker wechseln/Exchange Blankers"
  2236. Mit diesem Gadget wird bestimmt, ob Madhouse die Blanker mitten im Blanken
  2237. auswechseln soll. So l
  2238. t sich im BlankerPrefs-Fenster mit dem "Dauer/
  2239. Duration"-Slider f
  2240. r jeden Blanker bestimmen, wie lange er laufen soll. Der
  2241. Slider wird freigegeben, wenn "Blanker wechseln/Exchange Blanker" aktiviert
  2242. Da das Wechseln des Blankers aber nur Sinn macht, wenn auch zwei oder mehr
  2243. Blanker in der Liste aktiviert sind, ist dieses Gadget auch nur dann ver-
  2244. gbar.
  2245. @endnode
  2246. @node main_save "Referenz - Hauptfenster: Speichern/Save"
  2247. Schlie
  2248. t das Fenster und sichert die Optionen. Diese Dinge werden dann
  2249. nach "ENVARC:/ENV:Madhouse.prefs" gespeichert:
  2250. - Die Optionen des Hauptfensters bzw. der System-Seite.
  2251. - Die Optionen des Advanced-Options-Fensters bzw. der Advanced/Optionen-
  2252.   Seite.
  2253. - Die aktuelle Position des Waiting-For-Disk-Fensters; siehe 
  2254.   @{"Advanced-Options-Beschreibung", link adv_op}.
  2255. - Die Duration-Einstellung f
  2256. r jeden Blanker.
  2257. - Die Namen und ein/aus-Einstellungen der Blanker.
  2258. @endnode
  2259. @node main_use "Referenz - Hauptfenster: Benutzen/Use"
  2260. Dieses Gadget schlie
  2261. t das Hauptfenster und l
  2262. t Madhouse 'am Leben'.
  2263. Die Einstellungen werden 
  2264. bernommen, aber nicht abgespeichert.
  2265. @endnode
  2266. @node main_remove "Referenz - Hauptfenster: Entfernen/Remove"
  2267. Beendet Madhouse.
  2268. @endnode
  2269. @node main_info "Referenz - Hauptfenster: Info"
  2270. Ein kleines Fenster 
  2271. ffnet sich und zeigt einige Informationen 
  2272. ber Mad-
  2273. house und die Autoren.
  2274. @endnode
  2275. @node ref_littlewin "Referenz: Das AskForDisk-Fenster (bei Nach Disk fragen)"
  2276. Das AskForDisk-Fenster (also das Fenster mit der kleinen Diskette) zeigt
  2277. an, da
  2278.  der gepufferte Blanker bereits benutzt wurde und da
  2279.  Madhouse
  2280. darauf lauert, die Blankers-Diskette in die Finger zu bekommen.
  2281. Ein Klick auf das Schlie
  2282. -Gadget dieses kleinen Fensters bewirkt nicht
  2283. nur das Schlie
  2284. en des Fensters, sondern stellt auch alle Schn
  2285. ffel-
  2286. versuche nach der Diskette ein.
  2287. @endnode
  2288. @node ref_editPrefs "Reference: The BlankerPrefs-window"
  2289. @{B}I. Wie dieses Fenster ge
  2290. ffnet wird:@{UB}
  2291. Dieses Fenster l
  2292. t sich ganz einfach 
  2293. ffnen: Einfach das Hauptfenster
  2294. ffnen, dann das Edit-gadget auf "Prefs..." stellen und einen Blanker
  2295. anklicken! MUI-User m
  2296. ssen auf die Blankers-Seite wechseln und dann
  2297. einen Blanker anklicken.
  2298. @{B}II. Die Gadgets@{UB}
  2299. Genialerweise 
  2300. ndern sich die Gadgets, je nachdem welcher Blanker ange-
  2301. klickt wurde. Einige sind jedoch immer gleich:
  2302. @{I}II.1 Das Okay-Gadget@{UI}
  2303. Speichert die Einstellungen unter "blankers/blankername/prefs".
  2304. @{B}Achtung:@{UB} Der Wert des Duration-Sliders wird hiermit nicht gespeichert,
  2305. sondern nur mit dem Save-Button des Hauptfenster!
  2306. @{I}II.2 Das Testen/Test-Gadget@{UI}
  2307. Dieses Gadget starte den Blanker mit den aktuellen Einstellungen.
  2308. @{I}II.3 Das Abbruch/Cancel-Gadget@{UI}
  2309. t das BlankerPrefs-Fenster ohne die Einstellungen zu 
  2310. bernehmen.
  2311. @{I}II.4 Der Dauer/Duration-Slider (MUI: auf der Blankers-Seite vorhanden)@{UI}
  2312. Mit diesem Gadget wird eingestellt, wie lange Madhouse diesen Blanker
  2313. zeigt. Da die Blanker aber nur mit aktiviertem "Blanker wechseln/Exchange
  2314. Blankers" mittendrin abbrechen und wechseln, macht dieser Slider nur mit
  2315. "Blanker wechseln/Change Blanker" Sinn. Andernfalls ist er nicht bedienbar
  2316. (schraffiert).
  2317. @endnode
  2318. @node ref_muimainwin "Referenz: Das MUI-Hauptfenster"
  2319.                   @{B}Die Gadgets um unteren Fensterrand:@{UB}
  2320.                @{"       Speichern/Save             ",link main_save}
  2321.                @{"        Benutzen/Use              ",link main_use}
  2322.                @{"       Entfernen/Remove           ",link main_remove}
  2323.                             @{B}System-Seite@{UB}
  2324.                @{"           Listengadget           ",link ref_muilist}
  2325.                @{"            Pfad/Path             ",link main_path}
  2326.                @{"            Zeit/Time             ",link main_time}
  2327.                @{"Blanker wechseln/Exchange Blankers",link main_changeBL}
  2328.                       @{B}Advanced/Optionen-Seite@{UB}
  2329.          Siehe @{"         Advanced Options         ", link adv_op}
  2330.                            @{B}Blankers-Seite@{UB}
  2331.                @{"           Listengadget           ",link ref_muibllist}
  2332.                @{"           Dauer/Duration         ",link ref_muiduration}
  2333.                @{"           Autor/Author           ",link ref_muiauthor}
  2334.                @{"   CPU-Belastung/CPU load         ",link ref_muicpuload}
  2335.                @{"             Version              ",link ref_muiversion}
  2336.                @{"    Das Sound-Men
  2337.  als PopUp      ",link ref_muisound}
  2338.                              @{B}Info-Seite@{UB}
  2339.                @{"           Textgadget             ",link ref_muiinfo}
  2340. @endnode
  2341. @node ref_muilist "Referenz - Hauptfenster/System: Listengadget"
  2342. Die Liste links erm
  2343. glich die An- und Abwahl der einzelnen Blanker. Nur die
  2344. Blanker, die hier ausgew
  2345. hlt werden, werden sp
  2346. ter von der Zufallsfunktion
  2347. herangezogen. Die Auswahl mit der Liste kann umst
  2348. ndlich sein, wenn MUI
  2349. unpraktisch konfiguriert wurde.
  2350. Im MUI-Einstellungsfenster sollte auf der Listen-Seite das Gadget Auswahl
  2351. auf "immer" stehen. Zus
  2352. tzlich wird eine MUI-Multiselect-Liste 
  2353. bersicht-
  2354. licher, wenn man auf der Bilder-Seite folgende Zuordnungen vornimmt:
  2355. BG Listview -> Stift / System / Hintergrund oder Fremd / irgendein Muster
  2356. BG Listview Cursor -> Muster / Scheinstift
  2357. BG Listview Selected -> Stift / System / F
  2358. llstift
  2359. BG Listview Selected+Cursor -> Muster / Schatten/F
  2360. ll-Raster
  2361. Wird die Liste schraffiert dargestellt, dann ist die Pfad/Path-Einstellung
  2362. falsch.
  2363. @endnode
  2364. @node ref_muibllist "Referenz - Hauptfenster/Blanker: Listengadget"
  2365. Die Blanker-Liste auf der Blankers-Seite ist f
  2366. r zwei Aufgaben zu ge-
  2367. brauchen: zwischen den Funktionen wird mit der Art des Mausklicks ent-
  2368. schieden.
  2369. - Einfachklick:
  2370. Die Informationen zum angeklickenten Blanker werden in den beiden Text-
  2371. boxen angezeigt, die sich rechts von der Liste befinden.
  2372. - Doppelklick:
  2373. Das BlankerPrefs-Fenster wird ge
  2374. ffnet. Finden sich in der gadget-Datei
  2375. des angeklickten Blankers keine Informationen zum Aufbau eines MUI-
  2376. Fensters, wird eben ein Normales aufgemacht.
  2377. @endnode
  2378. @node ref_muiduration "Referenz - Hauptfenster/Blanker: Dauer/Duration"
  2379. Mit diesem Gadget wird eingestellt, wie lange Madhouse den aktiven Blanker
  2380. zeigt. Da die Blanker aber nur mit aktiviertem "Blanker wechseln/Exchange
  2381. Blanker" mittendrin abbrechen und wechseln, macht dieser Slider nur mit
  2382. "Blanker wechseln/Exchange Blanker" Sinn. Andernfalls ist er nicht bedien-
  2383. bar (schraffiert).
  2384. @endnode
  2385. @node ref_muiauthor "Referenz - Hauptfenster/Blanker: Autor/Author"
  2386. In diesem Textfeld wird der Name des Autors angezeigt, der den gerade
  2387. angew
  2388. hlten Blanker programmiert hat.
  2389. @endnode
  2390. @node ref_muicpuload "Referenz - Hauptfenster/Blanker: CPU-Belastung/CPU load"
  2391. Dort ist die St
  2392. rke ersichtlich, mit der der Blanker das System belastet.
  2393. Danach entscheidet Madhouse - falls das Gadget "CPU aktiv/CPU active" auf
  2394. der Advanced/Optionen-Seite auf "nur einfache Blanker/only simple ones"
  2395. steht und ein Programm arbeitet - welcher Blanker verwendet werden kann.
  2396. Siehe auch @{"Advanced Options", link adv_op}. Die "Rechenintensivit
  2397. t" des
  2398. Blankers wird im Feld "CPU-Belastung/CPU load" angezeigt. "niedrig/low"
  2399. bedeutet eine niedrige Belastung, "mittel bis hoch/medium to high" eine
  2400. mittlere bis starke Belastung.
  2401. @endnode
  2402. @node ref_muiversion "Refernz - Hauptfenster/Blanker: Version"
  2403. In diesem Textfeld wird die Versionsnummer des vorliegenden Blankers
  2404. angezeigt.
  2405. @endnode
  2406. @node ref_muisound "Referenz - Hauptfenster/Blanker: Sound"
  2407. Mit diesem Sound-Men
  2408.  kann man jedem Blanker einen Sound zuordnen, au
  2409. erdem
  2410. glicht es dieses PopUp, sich die Musik-Module anzuh
  2411. @{FG Highlight}Dazu wird entweder die medplayer.library oder der DeliTracker benutzt, je
  2412. nachdem, was auf der Advanced/Optionen-Seite eingestellt ist. Falls der
  2413. DeliTracker benutzt wird, mu
  2414.  der DeliTracker laufen; sonst mu
  2415. medplayer.library verf
  2416. gbar sein und dann darf das Modul auch nur ein
  2417. MED-Modul sein.@{FG Filltext}
  2418. chst mu
  2419.  man in der Liste links einen Blanker ausw
  2420. hlen (1x klicken),
  2421. der "vertont" werden soll. Das Stringgadget neben "Sound" enth
  2422. lt nun das
  2423. r diesen Blanker eingestellte Modul - also im Moment noch nichts. Das
  2424. PopUp-Gadget (MUI wird heute mal voll ausgereizt *(:-) ) auf der rechten
  2425. Seite mu
  2426.  auch noch bet
  2427. tigt werden, schon 
  2428. ffnet sich ein liebevoll
  2429. designtes PopUp-Fenster. Dieses PopUp besteht aus mehreren Elementen:
  2430. @{FG Highlight}Hinzuf
  2431. gen... / Add...@{FG Filltext}
  2432. Dieser Button mu
  2433. chst bet
  2434. tigt werden, um ein Sound-Modul in die Li-
  2435. ste zu bekommen
  2436. @{FG Highlight}L
  2437. schen / Del@{FG Filltext}
  2438. Hiermit wird ein Modul komplett aus Madhouse gestrichen. Jeder Blanker,
  2439. bei dem dieses Modul eingestellt war, hat nun keine Sound-Einstellung
  2440. mehr, und das Modul wird aus der Liste entfernt.
  2441. @{FG Highlight}Tapedeck-Play-Pfeil@{FG Filltext}
  2442. Nun, es soll ja Leute geben, die sich die Bedienungsanleitungen von
  2443. Radiorekordern, Tapedecks, CD-Playern und Videorekordern durchlesen.
  2444. Die haben jetzt keine Chance, weil ich nicht erkl
  2445. ren werde, was
  2446. dieser Button macht. Notfalls schaut halt in die Anleitung vom Auto-
  2447. Radio, Euch ist ja eh' nicht zu helfen.
  2448. @{FG Highlight}Tapedeck-Stop-Quadrat@{FG Filltext}
  2449. Mit diesem Knopf wird das Musik-Modul wieder gestoppt. %
  2450. @{FG Highlight}Liste@{FG Filltext}
  2451. Ach ja, die Liste: die hat eigentlich gar keine Bedeutung. Die ist nur
  2452. da, weil die Leute sowas erwarten, wenn sie ein PopUp 
  2453. ffnen. Anstatt
  2454. des Sound-Men
  2455. tte es n
  2456. mlich auch ein simpler File-Requester getan,
  2457. aber wenn man nun mal gerne programmiert...
  2458. Zugegeben, man k
  2459. nnte das Sound-Modul auch direkt in das Stringgadget ein-
  2460. tragen. (Der Hypermegasupergeheimtip.)
  2461. brigens wird die Liste selbst nie abgespeichert. Falls also ein Modul hin-
  2462. zugef
  2463. gt, aber nicht benutzt wird, befindet es sich beim n
  2464. chsten Start
  2465. des MadhouseConfigEd nicht mehr in der Liste. Die Liste wird vielmehr am
  2466. Programmstart des ConfigEd anhand der eingestellten Module erstellt.
  2467. Einen interessanten Tip von Aicke m
  2468. chte ich auch nicht verschweigen: wenn
  2469. Ihr nicht wollt, da
  2470.  der DeliTracker nach jedem Blanken wieder eines sei-
  2471. ner eigenen Module nachl
  2472. dt (wenn er also ohne Madhouse ruhig sein soll),
  2473. dann schaltet doch einfach die Option "Play at Start" ab.
  2474. @{FG Highlight}Halt, nach dieser sehr sinnvollen Beschreibung des Sound-PopUps noch was
  2475. Wichtiges: Eigentlich kann man die Sound-Funktion nur mit einer Festplatte
  2476. benutzen (die sowieso jeder Anwender haben sollte), weil Madhouse immer
  2477. davon ausgeht, da
  2478.  das Modul ohne Diskettenwechsel (und damit ohne "Please
  2479. insert Disk..."-Requester) ladbar ist.
  2480. Uneigentlich geht es aber auch ohne, dazu mu
  2481.  man das betreffende Sound-
  2482. Modul jedes Blankers in sein Unterverzeichnis kopieren. In das Sound-Gadget
  2483. (nicht ins PopUp, das wird nicht gehen) mu
  2484.  man dann
  2485. RAM:Madhouse_Storage/mod.Musikmodul
  2486. eintragen, vorausgesetzt "Puffern/Buffering" ist eingeschaltet und das
  2487. Modul hei
  2488. t "mod.Musikmodul". Diesen Trick sollte man aber nur mit dem
  2489. DeliTracker anwenden, weil Madhouse die medplayer.library erst kurz vor dem
  2490. Abspielen 
  2491. ffnet, was auch ein "Please insert Disk..." hervorrufen kann.
  2492. Siehe auch @{"Puffern/Buffering-Option", link buffering}.@{FG Filltext}
  2493. @endnode
  2494. @node ref_muiinfo "Referenz - Hauptfenster: Info"
  2495. In diesem Gadget werden einige Informationen 
  2496. ber uns angezeigt. Au
  2497. erdem
  2498. findet Ihr hier das Madhouse-Logo (was Ihr bestimmt gesucht habt!)
  2499. @endnode
  2500. @node programmers "F
  2501. r Programmierer: eigene Module schreiben!"
  2502. Da Madhouse ein offenes System ist, kann man leicht eigene Module hinzu-
  2503. gen. Eure erste Frage ist sicherlich
  2504.             @{" Kann ich meine Programmiersprache benutzen? ", link p_language}
  2505. Danach k
  2506. nnt Ihr einen Blanker schreiben und ihn Compilieren.
  2507.             @{"     Wie soll ich den Blanker schreiben?     ", link p_code}
  2508. Jetzt f
  2509. gt Ihr Euren Blanker in den Madhouse-Verzeichnisbaum ein.
  2510.             @{"          Mein eigenes Verzeichnis!          ", link p_dir}
  2511. Dies ist alles was Ihr braucht, um einen einfachen Blanker zu schreiben.
  2512. Aber ein richtiger Blanker hat schlie
  2513. lich auch Einstellungen, und die
  2514. ndert der User ja in Eurem zuk
  2515. nftigen BlankerPrefs-Fenster. Madhouse
  2516. erstellt es nach Euren W
  2517. nschen - oder besser gesagt, nach Eurer Datei.
  2518. Sie hei
  2519. t "gadget" und mu
  2520.  sich im Verzeichnis des neuen Blankers befinden.
  2521. Und die wird jetzt erstellt.
  2522.             @{"             Die gadget-Datei.               ", link p_gadget}
  2523. Und fertig! Wer hiermit Probleme hat, der sollte uns unbedingt schreiben.
  2524. Schlie
  2525. lich hat jeder Programmierer einmal angefangen und ich hatte keine
  2526. Versuchsperson, die nur anhand dieser Anleitung einen Blanker schreiben
  2527. sollte. Gerade weil f
  2528. r einen modularen Screenblanker die verf
  2529. gbaren Mo-
  2530. dule das Wichtigste sind, werden wir hier jede uns m
  2531. gliche Unterst
  2532. tzung
  2533. liefern. Nat
  2534. rlich kennen wir nicht jede Programmiersprache, aber das ist
  2535. oft auch nicht n
  2536. @{FG Highlight}Noch ein paar Worte an Leute, die tats
  2537. chlich einen Blanker schreiben und
  2538. ffentlichen wollen:
  2539. 1. Wir haben bestimmte Dinge bewu
  2540. t nicht gemacht (?). So haben wir bewu
  2541.    keinen Lines-Blanker geschrieben, weil der nicht gut aussieht und nicht
  2542.    originell genug ist. Nat
  2543. rlich k
  2544. nnt Ihr ver
  2545. ffentlich, was Ihr wollt,
  2546.    aber es w
  2547. re schon, wenn das Niveau von Madhouse erhalten bliebe. Die
  2548.    Idee sollte also irgendwie ausgefallen sein.
  2549. 2. Vielleicht denkt Ihr, es ist praktisch, Madhouse zusammen mit Eurem
  2550.    Blanker zu ver
  2551. ffentlichen. Tut das bitte nicht, denn Madhouse darf
  2552.    nur @{B}unver
  2553. ndert@{UB} weitergegeben werden. Wenn Ihr Euren Blanker
  2554.    zwischen unseren sehen wollt, k
  2555. nnt ihr ihn uns schicken. Dann ist er
  2556.    in der n
  2557. chsten Version dabei. In diesem Fall mu
  2558.  er sich dann aber
  2559.    unserer Qualtit
  2560. tskontrolle unterziehen (das h
  2561. rt sich jetzt arrogant
  2562.    an, aber irgendwie mu
  2563.  man sich ja absichern wenn doch einer mit Lines
  2564.    ankommt). Bitte seid nicht b
  2565. se, wenn der Blanker mit drei Seiten
  2566.    Verbesserungsvorschl
  2567. gen zur
  2568. ckkommt.@{FG Filltext}
  2569. @endnode
  2570. @node p_language "Kann ich meine Programmiersprache benutzen?"
  2571.   Ja.
  2572.   Wenn Ihr jetzt denkt, da
  2573.  Ihr mit BASIC-m
  2574. igen Dialekten keine Chance
  2575. habt, dann liegt Ihr falsch. Immerhin wurden viele Blanker in AMOS ge-
  2576. schrieben, und das will schon was hei
  2577. en (ich will hier nicht das Ger
  2578. verbreiten, AMOS w
  2579. re nur zu sich selbst kompatibel. Nachher folgt dann
  2580. in der n
  2581. chsten Version dieser Anleitung eine Gegendarstellung, die
  2582. ich dann noch nicht einmal unterschlagen darf... oder so).
  2583.   OK, wer also meint AMOS benutzen zu m
  2584. ssen, der soll das eben tun.
  2585.   Um es auf dem Punkt zu bringen, mir fallen nur zwei "Sprachen" ein, mit
  2586. denen Ihr kein Gl
  2587. ck haben werdet. ARexx und AmigaDOS. "Waaaas, letzteres
  2588. ist eine Programmiersprache?" Streng genommen schon. Noch nie was von
  2589. Batch-Dateien geh
  2590. rt? Gut so.
  2591.   ARexx geht auch nicht, weil man da keine Screens 
  2592. ffnen kann. "Und das
  2593. t Ihr mir jetzt einfach glauben", w
  2594. rden die Physik-Lehrer sagen.
  2595.   ARexx w
  2596. rde es theoretisch schaffen, wenn jemand vorher eine ARexx-
  2597. Extension-Lib mit neuen Befehlen f
  2598. r Screens und Zeichnen und so in
  2599. Assembler oder C schreiben w
  2600. rde. Und da h
  2601. rt dann der Sinn irgendwie auf,
  2602. oder? Tats
  2603. chlich existiert eine solche Library, die m
  2604. t Ihr jetzt aber
  2605. schon selbst suchen, und au
  2606. erdem br
  2607. uchtet Ihr dann noch den 250,-DM
  2608. teuren ARexx-Compiler, und daf
  2609. r bekommt man ja schon eine richtige Pro-
  2610. grammiersprache.
  2611.   Tja, l
  2612. ngst habt Ihr es gemerkt. Ich bem
  2613. he mich immer, einleuchtend,
  2614. klar verst
  2615. ndlich und f
  2616. r jeden begreiflich zu schreiben. Kurz fassen
  2617. kann ich mich aber nicht.
  2618.   Um also wieder auf den Punkt zu kommen: hiermit definiere ich eine
  2619. Madhouse-Blanker-m
  2620. gliche Sprache als alle Amiga-Sprachen abz
  2621. glich
  2622. der Sprachen f
  2623. r die es keinen Compiler gibt oder die keine M
  2624. glichkeit
  2625. bereitstellen, Screens oder Fenster zu 
  2626. ffnen.
  2627. r AMOS und GFA-BASIC (und Amiga-BASIC...) gibt es den Compiler extra
  2628. zu kaufen. F
  2629. r ARexx auch, aber diesen Punkt h
  2630. tten wir ja nun abgehakt.
  2631. BlitzBasic, C, Pascal, Assembler, Oberon, Modula, Amiga-E, und alles
  2632. was mir sonst einfallen k
  2633. nnte sind sog. Compiler-Sprachen und werden
  2634. deshalb GARANTIERT mit Compilern ausgeliefert, da der Compiler sozusagen
  2635. die Sprache ist, wie sich ein Einsteiger ausdr
  2636. cken w
  2637.   Alles klar? AmigaDOS (und ARexx?) sind aus dem Rennen, dem Rest w
  2638. nsche
  2639. ich viel Spa
  2640. @endnode
  2641. @node p_code "Wie ich meinen Blanker schreibe."
  2642. Wie Ihr Euren Blanker schreibt m
  2643. t nat
  2644. rlich Ihr entscheiden, aber ich
  2645. kann Euch sagen, wie er an die Daten von Madhouse herankommt und wie er
  2646. Madhouse Infos 
  2647. bermitteln mu
  2648. Um die Kommunikation zwischen Blanker und Madhouse "programmiererfreund-
  2649. lich" zu gestalten (schlie
  2650. lich wollen wir hier niemanden zum Umsteigen
  2651. auf C zwingen...), haben wir uns entschlossen, alles mit Dateien abzu-
  2652. wickeln. Das hei
  2653. t, da
  2654.  Madhouse eine bestimmte Datei, die immer denselben
  2655. Namen und Pfad hat, mit Informationen f
  2656. r den Blanker f
  2657. llt. Dann ruft es
  2658. den Blanker auf und macht erst weiter, wenn sich der Blanker beendet hat.
  2659. Der Blanker liest die Datei und zieht daraus seine Schl
  2660. sse - die Datei
  2661. namens "RAM:Madhouse_Storage/prefs" enth
  2662. lt die Einstellungen des Blankers
  2663. sowie die Duration-Zeit in Minuten (entspricht dem Duration-Slider im
  2664. BlankPrefs-Fenster) und einen neuen Pfad, der ihm sagt, wo sich sein
  2665. Hauptverzeichnis befindet. Diesen Pfad braucht man in den seltensten
  2666. llen, n
  2667. mlich genau dann, wenn man eine Datei aus dem Verzeichnis nach-
  2668. dt. Alle numerischen Angaben sind im Kartext geschrieben, z.B. "23" statt
  2669. ". Die Frage "Wieviele Einstellungen hat denn mein Blanker?" solltet Ihr
  2670. selbst beantworten k
  2671. nnen... Da ein Programmlisting solche Sachverhalte
  2672. am besten verdeutlichen kann, gibt es drei Beispielprogramme. Das Erste ist
  2673. in dieser Datei enthalten und folgt gleich. Es ist sozusagen allgemein
  2674. gehalten. Au
  2675. erdem tut der Blanker hier nicht etwas bestimmtes und auch
  2676. auf die Parameter wollte ich mich nicht festlegen. Die beiden anderen
  2677. Programme befinden sich im developers-Verzeichnis und sind in C und AMOS
  2678. geschrieben. Sie enthalten richtige, handfeste Beispiele. Im Unterverzeich-
  2679. nis mit dem AMOS-Beispielblanker befindet sich noch eine Configurations-
  2680. Datei f
  2681. r die AMOSPro-Compilershell. Diese k
  2682. nnt Ihr einfach laden,
  2683. schon sind die Einstellungen korrekt. 
  2684. brigens sollte man auf die abar-
  2685. tigen "Amos lock/unlock"-Kommandos achtgeben.
  2686. Datei "RAM:Madhouse_Storage/prefs" zum Lesen 
  2687. ffnen.
  2688. Ersten eigenen Parameter lesen.
  2689. Zweiten eigenen Parameter lesen.
  2690. n-ten eigenen Parameter lesen.
  2691. Blank-Dauer in Minuten lesen.
  2692. Pfad auf die eigenen Dateien lesen.
  2693. Pfad ist z.B. "RAM:Madhouse_Storage" oder "Work:Madhouse/Blankers/MeinBl".
  2694. // Wenn die Zeit in Ticks ermittelt wird (DateStamp, der Timer)
  2695. Blankdauer = Blankdauer * 300
  2696. // Wenn die Zeit in Sekunden ermittelt wird (mit Include <time.h>)
  2697. Blankdauer = Blankdauer * 60
  2698. Screen 
  2699. ffnen.
  2700. Wenn Fehler, dann
  2701.   Datei "RAM:Madhouse_Storage/errors" zum ANH
  2702. NGEN (!) 
  2703. ffnen.
  2704.   Den Fehler in eine Zeichenkette kopieren,
  2705.   an diese Zeichenkette das ASCII-Zeichen nummer 13 (0x0D) anh
  2706. ngen,
  2707.   Fehler in Form EINER kurzen Zeichenkette schreiben.
  2708.   Datei schlie
  2709.   Programm beenden.
  2710. Aktuelle Systemzeit (Ticks) in eine Variable legen.
  2711. r immer
  2712.   Blanken
  2713.   Blanken
  2714.   Blanken
  2715.   (was der Blanker halt so in einer Hauptschleife macht...)
  2716.   Wenn Maustaste gedr
  2717. ckt oder Tasteneingabe auf der Tastatur dann
  2718.     Datei "RAM:Madhouse_Storage/Blankstop" zum Schreiben 
  2719. ffnen.
  2720.     Datei schlie
  2721.     Screen schlie
  2722.     Programm beenden.
  2723.   )  
  2724.   Wenn Blanker-Dauer ungleich 0 dann
  2725.     Zeit messen.
  2726.     Wenn (aktuelle Zeit - Startzeit)  >  Blank-Dauer dann
  2727.       Screen schlie
  2728.       Programm beenden.
  2729.     )
  2730.        
  2731. Ein paar Erl
  2732. uterungen sind sicher n
  2733. tig. So bedeutet die ) ein ENDIF-
  2734. iges Sprachkonstrukt.
  2735. Die Umrechnung der Blankdauer (*300 oder *60) mu
  2736.  erfolgen, da Madhouse
  2737. die Zeit in Minuten 
  2738. bergibt. Da man aber die Zeit in Sekunden oder Ticks
  2739. stoppt und die Startzeit in die Variable legt, mu
  2740.  man die Madhouse-
  2741. Blankdauer mit 60 (Stoppeinheit Sekunden) oder mit 300 (Stoppeinheit Ticks)
  2742. multiplizieren. Dies wird auch in den beiden Beispielprogrammen veran-
  2743. schaulicht: das C-Demo benutzt die Funktion time() und die Struktur time_t
  2744. aus <time.h> und arbeitet in Sekunden. Das AMOS-Demo liest den Timer aus,
  2745. welcher die Zeit nach dem Einschalten in Ticks beinhaltet.
  2746. In die Errors-Datei darf deshalb nur eine Zeile ANGEHANGEN werden, weil
  2747. Madhouse die Datei erst auswertet, nachdem evtl. mehrere Blanker liefen.
  2748. So wird ein 
  2749. berschreiben der Datei verhindert.
  2750. erdem ist noch wichtig, da
  2751.  jeder Blanker nur EINMAL EINE ZEILE in die
  2752. "errors"-Datei schreiben darf, die dann von Madhouse umbrochen wird. Und
  2753. noch viel wichtiger ist, da
  2754.  diese eine Zeile maximal 500 Zeichen lang
  2755. sein darf.
  2756. Die "prefs"-Datei sieht im 
  2757. brigen z.B. so aus:
  2758. $Ein toller Text!
  2759. RAM:Madhouse_Storage
  2760. Dann hatte der Blanker selbst vier Einstellungen, die man im Prefs-Fenster
  2761. hlen kann. Sie werden hier in der Reihenfolge 
  2762. bergeben, in der auch
  2763. die Gadgets in der "gadget"-Datei definiert sind, doch dazu sp
  2764. Hinter die Blanker-Einstellungen h
  2765. ngt Madhouse die Zeit in Minuten, die
  2766. der Blanker maximal blanken kann. Ist sie null, l
  2767. uft er tats
  2768. chlich bis
  2769. der Benutzer ihn abbricht. Als "Abbrechen" gilt 
  2770. brigens nur eine Maus-
  2771. oder Keyboard-Taste. Strings werden Madhouse-Technisch mit einem $ ange-
  2772. hrt. Die Blanker-Einstellungen k
  2773. nnen alles m
  2774. gliche sein, z.B.
  2775. - der Wert eines Cycle-Gadgets
  2776. - der Wert eines Sliders
  2777. - der Zustand eines H
  2778. kchen-Gadgets (0 oder nicht 0 [0 hei
  2779. t "aus".])
  2780. - u.v.m.
  2781. Wie der Blanker das auswertet, bleibt ihm selbst 
  2782. berlassen.
  2783. Ein sehr einfacher Blanker hat selbst gar keine Einstellungen und kein
  2784. Prefs-Fenster. Er liest dann z.B. nur
  2785. Work:Madhouse/Blankers/MeinBlanker
  2786. und reagiert darauf. Die "gadget"-Datei kann sich solch ein Blanker
  2787. schenken, daf
  2788.  der Programmierer so eines Blankers aber eine prefs-
  2789. Datei selbst erzeugen, mit 0 Bytes L
  2790. nge. (So eine "leere" Datei befindet
  2791. sich auch im developer-Verzeichnis, unter dem Namen "emptyprefs".)
  2792. Das Executable, also die Datei, die hinten beim Compiler rauskommt, darf
  2793. sich 
  2794. brigens auf keinen Fall vom CLI abkoppeln. Dies mu
  2795.  auch im AMOSPro-
  2796. Compiler in der Compiler-Shell eingestellt werden (Option: CLI-Program
  2797. to run in the Background... No - oder so 
  2798. hnlich). 
  2799. brigens ist es f
  2800. AMOS-Programmierer schon recht wichtig, die mitgelieferten Compiler-
  2801. Settings zu benutzen. Aicke und ich hatten damals eine Menge 
  2802. rger, als
  2803. wir erstmals einen AMOS-Blanker in das System integrierten. Den solltet
  2804. Ihr Euch mit der mitgelieferten Config-Datei ersparen.
  2805. @endnode
  2806. @node p_dir "Mein eigenes Verzeichnis!"
  2807.  Madhouse f
  2808. r jeden Blanker ein eigenes Verzeichnis erwartet, sollte
  2809. nun langsam klar sein. Deshalb solltet Ihr jetzt ein Verzeichnis mit dem
  2810. Namen des Blankers im Madhouse-Blanker-Verzeichnis-Pfad (Ihr wi
  2811. t, was
  2812. ich meine...) anlegen.
  2813.   Ein Verzeichnis hat im 
  2814. brigen nicht nur die Aufgabe, alles beisammen
  2815. zu halten, User ohne Festplatte k
  2816. nnen - falls Euer Blanker die Angabe
  2817. eines Dateinamens erlaubt - diese Datei in das Blankerverzeichnis ko-
  2818. pieren. Da bei eingeschaltetem Buffering immer das gesamte Verzeichnis
  2819. im RAM gehalten wird, wird dann diese Datei auch erreichbar sein.
  2820. Der User gibt dann nur den puren Dateinamen an. Der Blanker versucht erst,
  2821. den Pfad, den Madhouse in die letzte Zeile der Prefs-Datei schreibt + "/"
  2822. + den Dateinamen zu 
  2823. ffnen, wenn das fehlschlug, dann nur den Datei-
  2824. namen allein.
  2825. Bei eingeschaltetem Buffering geht die erste Variante: aus dem Dateinamen
  2826. "File" wird dann "RAM:Madhouse_Storage/File". Bei ausgeschaltetem Buffering
  2827. gt diese Variante fehl, denn der User mit Festplatte mu
  2828.  ja seine
  2829. Datei nicht in das Unterverzeichnis des Blankers kopieren. Er gibt z.B. an:
  2830. "Work:Pictures/File" und es entsteht
  2831. "Ram:Madhouse_Storage/Work:Pictures/File", was sich nat
  2832. rlich nicht 
  2833. ffnen
  2834. t. Daf
  2835. r funktioniert dann aber Variante 2 (nur der Dateiname):
  2836. "Work:Pictures/File" m
  2837. te sich jetzt 
  2838. ffnen lassen.
  2839.   Das Verzeichnis kann nat
  2840. rlich auch zus
  2841. tzliche Dateien beinhalten,
  2842. die der Blanker dann beim Start immer nachl
  2843. dt. Wichtig ist aber, da
  2844. diese Dateien nicht "errors" oder "stopblank" hei
  2845. rfen. Ebenfalls
  2846. rfen keine weiteren Unterverzeichnisse angelegt werden.
  2847.   Also dann, macht ein Verzeichnis und legt das Kompilat Eures Blanker
  2848. hinein. Der Blanker mu
  2849.  den Namen "blanker" tragen (ach so).
  2850. erdem solltet Ihr noch eine leere Prefs-Datei erzeugen, wenn ihr
  2851. den Blanker zuerst ohne gadget-File und ohne BlankerPrefs-Fenster von
  2852. Madhouse aus starten wollt. Diese Datei mu
  2853.  dann "prefs" hei
  2854. en (ach ja)
  2855. und sich in Eurem Blankers-Verzeichnis befinden. Da es nicht so leicht
  2856. ist, eine Datei wirklich leer zu machen, k
  2857. nnt Ihr die leere prefs-Datei
  2858. aus dem developers-Verzeichnis benutzen.
  2859.   Diese leere Datei k
  2860. nnt Ihr Euch sparen, wenn Ihr jetzt die folgenden
  2861. beiden Abs
  2862. tze nicht mitmacht und gleich an die gadgets-Datei geht. Danach
  2863. ruft Ihr einfach das BlankerPrefs-Fenster Eures Blankers auf, bewegt alle
  2864. Slider und klickt auf Save. Schon habt ihr eine fertige Prefs-Datei.
  2865.   Jetzt mu
  2866.  Madhouse gestartet werden. Klickt einmal ins "Path"-String-
  2867. gadget und dr
  2868. ckt <Return>, damit Madhouse das Verzeichnis neu einliest.
  2869. Das BlankerPrefs-Fenster kann nat
  2870. rlich noch nicht ge
  2871. ffnet werden, da
  2872. die Definitionsdatei daf
  2873. r nach fehlt. Wenn der Blanker schon so pro-
  2874. grammiert wurde, da
  2875.  er eigene Einstellungen liest, m
  2876. t Ihr halt selbst
  2877. eine prefs-Datei schreiben, die NUR DIE EINSTELLUNGEN DES BLANKERS ent-
  2878. lt. Wie so etwas auszusehen hat, wi
  2879. t Ihr ja. Aber soetwas w
  2880. rde ich
  2881. selbst nicht gleich ausprobieren, besser erst den Blanker anpassen, so
  2882.  er keine eigenen Einstellungen l
  2883.   Bei "Selection" k
  2884. nnt Ihr noch Euren Blanker allein ausw
  2885. hlen, auf
  2886. "Use" klicken und - warten.
  2887. @endnode
  2888. @node p_gadget "Die gadget-Datei"
  2889. Da ja mittlerweile auch den Lesern der Commodore-Dokumentation klar ist,
  2890. was Gadget hei
  2891. t (Ihr wi
  2892. t schon, die Dinger auf die Ihr dauernd klickt..),
  2893. rfte die Bedeutung der "gadget"-Datei, die eigentlich jeder Blanker in
  2894. seinem Verzeichnis hat, klar sein. Sie enth
  2895. lt u.a. die Beschreibung,
  2896. wie das BlankerPrefs-Fenster des jeweiligen Blankers aussieht.
  2897. Und damit der Anfang wieder einfach wird, schauen wir uns zun
  2898. chst eine
  2899. solche Datei an, die ich zwecks Dateif
  2900. llung mal hier eingef
  2901. gt habe.
  2902. (Anm.: Diese Datei ist nicht lokalisiert, d.h. ist nur einsprachig. Zur
  2903. Erzeugung mehrsprachiger BlankerPrefs-Fenster komme ich sp
  2904. ter.)
  2905. Madhouse v1.0, BlankerPrefs-Window
  2906. CHUNK:DIMENSIONS
  2907. Gadgets 3
  2908. Texts 5
  2909. Arrays 1
  2910. CHUNK:WINDOW
  2911. 338,62
  2912. CHUNK:DURATION_POS
  2913. 112,53,150,12
  2914. CHUNK:GADGETS
  2915. Cycle,112,4,150,12,Mode,TextLeft
  2916. 1,Done
  2917. 3,Bouncing Point,Wusel,Random
  2918. Slider,112,19,150,12,Wusel lenght,TextLeft
  2919. 5,SlMin,1,SlMax,20,Done
  2920. Checkmark,112,34,26,12,Sound,TextLeft
  2921. 1,Done
  2922. (.... Hier steht noch die MUI-Fensterbeschreibung, die ich weiter unten
  2923. re. Sie ist nicht zwingend notwendig.)
  2924. CHUNK:BEVELBOXES
  2925. 0,0,330,49
  2926. 0,49,330,20
  2927. CHUNK:BLANKERINFO
  2928. Aicke Schulz
  2929. Ha! Obwohl Ihr bisher nicht die leiseste Ahnung vom Aufbau der Datei habt,
  2930. kann jetzt jeder sofort sehen, von welchem Blanker die Datei stammt.
  2931. Es tauchen n
  2932. mlich bestimmte Schriftz
  2933. ge auf, die der erfahrene (ahem..)
  2934. Madhouse-User schon gesehen hat. 
  2935. Na klar, von CrazyPixel stammt diese Datei. Und offensichtlich ist sie
  2936. auf eine bestimmte Art strukturiert. So ist des 
  2937. fteren das Wort CHUNK
  2938. darin zu finden.
  2939. Auf f
  2940. nf Dinge ist zu achten:
  2941. - Der Text "Madhouse v1.0, BlankerPrefs-Window" MUSS sich in der ersten
  2942.   Zeile befinden.
  2943. - Die Chunks k
  2944. nnen gemischt werden.
  2945. - Der erste Chunk mu
  2946.  der "CHUNK:DIMENSIONS" sein. Hier ist auch leider
  2947.   der etwas invariable Programmierstiel erkennbar, den ich f
  2948. r die Daten
  2949.   dieses Fenster angewandt habe... (mit MUI ist das alles schon etwas
  2950.   genialer programmiert worden, aber egal.)
  2951. - Es d
  2952. rfen keine Leerzeilen innerhalb des Chunks liegen. Auf Recht-,
  2953.   Gro
  2954. - und Kleinschreibung wird geachtet. Ausnahmen nerven die Regel:
  2955.   weil sonst die 
  2956. bersicht echt futsch gegangen w
  2957. re, sind im CHUNK: -
  2958.   GADGETS doch Leerzeilen m
  2959. glich, aber auch dort nicht 
  2960. berall...!
  2961. - Es d
  2962. rfen Leerzeilen zwischen den Chunks stehen, ein Chunk
  2963.   (CHUNK:GADGETS) erlaubt auch Leerzeilen zwischen den einzelnen Gadget-
  2964.   Definitionen. (Also zwei Regeln und eine Ausnahme.==)
  2965. Als kleinen 
  2966. berblick will ich noch die Funktionen der einzelnen Chunks er-
  2967. ren, bevor ich weiter unten genau auf die Details eingehe.
  2968. Der CHUNK:DIMENSIONS sagt Madhouse, wieviele Gadgets das BlankerPrefs-Fen-
  2969. ster haben wird, damit es rechtzeitig den Speicher f
  2970. r die Daten besorgen
  2971. kann. Die beiden anderen Angaben haben ebenfalls mit der Speicherverwaltung
  2972. zu tun.
  2973. Der CHUNK:WINDOW bestimmt die Ausma
  2974. e des BlankerPrefs-Fensters (Breite
  2975. und H
  2976. Der CHUNK:DURATION_POS erlaubt die Positionierung des Duration-Sliders, der
  2977. von Madhouse selbst erzeugt wird und der sich in allen BlankerPrefs-Fen-
  2978. stern befindet.
  2979. Im CHUNK:GADGETS wird jedes Gadget des BlankerPrefs-Fensters gesondert de-
  2980. finiert. Die Buttons Okay, Test und Cancel sowie der Duration-Slider wer-
  2981. den hier nicht erstellt. Anhand des CHUNK:GADGETS bastelt Madhouse die
  2982. Daten zusammen, die vom Betriebssystem zum 
  2983. ffnen des Fensters ben
  2984. werden.
  2985. Der CHUNK:LOCALE mu
  2986.  nicht vorhanden sein, erlaubt es jedoch, mehrsprachige
  2987. BlankerPrefs-Fenster zu erzeugen. Nur sinnvoll und m
  2988. glich, wenn der CHUNK:
  2989. GADGETS und evtl. der CHUNK:MUI-WINDOWLAYOUT entsprechend angepa
  2990. t werden.
  2991. Diese Anpassung wird ebenfalls hier erkl
  2992. Der CHUNK:BEVELBOXES ist (wie auch der CHUNK:TEXTS) optional, d.h. er mu
  2993. sich nicht in der gadget-Datei befinden. Der CHUNK:BEVELBOXES erm
  2994. glicht,
  2995. wenn vorhanden, die Erzeugung von plastischen Rahmen im BlankerPrefs-
  2996. Fenster. Damit lassen sich verschiedene Gadgets prima gruppieren; in den
  2997. Madhouse-Blankern wird dieser Chunk immer eingesetzt, um den Duration-
  2998. Slider von den Blanker-Gadgets zu trennen. Mit dem CHUNK:TEXTS lassen
  2999. sich beliebige Texte ins BlankerPrefs-Fenster einf
  3000. Der CHUNK:BLANKERINFO mu
  3001.  dagegen wieder in jeder gadget-Datei enthal-
  3002. ten sein. Er wird haupts
  3003. chlich nur eingelesen, wenn Madhouse nach einer
  3004. Eingabe im Path-Gadget des Hauptfensters das gesamte Blankers-Verzeichnis
  3005. durchw
  3006. hlt und die dort vorhandenen Blanker in der Liste eintr
  3007. gt. Aus
  3008. dem CHUNK:BLANKERINFO kann Madhouse ersehen, ob der Blanker rechenin-
  3009. tensiv ist (siehe @{"Advanced Options",link adv_op}, Punkt 4 ), und mit wieviel Stack
  3010. er gestartet werden mu
  3011. Noch ein kleiner Tip: Wer nicht wei
  3012. , was Radio-Gadgets u.s.w. sind, der
  3013. kann sich auch den recht informativen Artikel in der Amiga-Plus 11/93,
  3014. Seite 95f durchlesen. Hier werden auch die Einsatzgebiete der Gadgets
  3015. utert. Wessen Fenster auch noch total (Commodore-) Standard aussehen
  3016. sollen, der kann sich noch (aber das ist f
  3017. r diesen Zweck echt
  3018. bertrieben) den "AMIGA User Interface Style Guide", Addison-Wesley, 206
  3019. Seiten, ca. 60 DM 'reinziehen. Dieses Buch ist aber eigentlich nur f
  3020. die Programmierer gedacht, die ein Programm mit Fenstern schreiben.
  3021. Madhouse ist auch "Style-Guide"-konform, obwohl ich nie ein Blick in den
  3022. Interface Style Guide warf. Mit der Zeit kapiert man einfach, da
  3023.  man die
  3024. Gadgets nicht wild im Fenster herumstreuen sollte...
  3025. Und jetzt folgt die Erkl
  3026. rung der einzelnen Chunks. Mit "*" markierte
  3027. Chunks m
  3028. ssen nicht auftauchen, k
  3029. nnen aber. (Optional.)
  3030.                       @{"   CHUNK:DIMENSIONS     ", link p_dimensions }
  3031.                       @{"   CHUNK:WINDOW         ", link p_window }
  3032.                       @{"   CHUNK:DURATION_POS   ", link p_duration }
  3033.                       @{"   CHUNK:GADGETS        ", link p_gadgets }
  3034.                       @{"   CHUNK:BLANKERINFO    ", link p_blankerinfo }
  3035.                       @{" * CHUNK:BEVELBOXES     ", link p_bevelboxes }
  3036.                       @{" * CHUNK:TEXTS          ", link p_texts }
  3037.                       @{" * CHUNK:LOCALE         ", link p_locale }
  3038. Bis jetzt habe ich Euch ganz diskret verschwiegen, wo denn nun die Blanker-
  3039. Prefs-Oberf
  3040. chen des @{B}MUI-@{UB}Programmteils herkommen. Auf meine Kosten kann
  3041. mlich auch jeder Blanker, der in AMOS oder sonstwas geschrieben wurde,
  3042. eine MUI-Oberf
  3043. che haben. Die wird - wie konnte es anders sein - auch 
  3044. einen Chunk erzeugt.
  3045. Man sollte den Text, der da oben steht, bereits verstanden haben um hier
  3046. weiterzumachen. Ich baue jetzt n
  3047. mlich ein bischen auf dieses Wissen auf.
  3048. erdem sollten sich auch in jeder fremden gadget-Datei die Informationen
  3049. zum Aufbau eines normalen Fensters (ohne MUI) finden, sonst kann Euer
  3050. Blanker nur von Usern der MUI-Version genutzt werden. Umgekehrt k
  3051. aber die MUI-Angaben fehlen.
  3052. Doch MUI-Oberfl
  3053. chen werden nicht einfach so pixelweise in den Raum ge-
  3054. stellt, sondern bauen sich aus Beziehungen einfacher Gestaltungsm
  3055. glich-
  3056. keiten auf. Deshalb mu
  3057.  ich jetzt auch etwas weiter ausholen, denn die
  3058. Beschreibung von MUI bleibt mir wohl nicht erspart. Vorher jedoch noch
  3059. @{"     Der MUI-Madhouse-Schnelleinstieg f
  3060. r erfahrene MUI-Programmierer.   ",link pm_exp}
  3061. Alle anderen Leute mit MUI-Ambitionen lesen besser
  3062. @{"              MUI von Null auf Hundert f
  3063. r MUI-Greenhorns.               ",link pm_start}
  3064. @{"                        Die MUI-Gruppentypen                             ",link pm_groups}
  3065. @{"                          Die MUI-Gadgets                                ",link pm_gadgets}
  3066. @{"                      Der CHUNK:MUI-PREFSORDER                           ",link pm_mpo}
  3067. @endnode
  3068. @node p_dimensions "CHUNK:DIMENSIONS"
  3069. Dieser Chunk mu
  3070.  der erste Chunk sein. Er beinhaltet drei Zahlen:
  3071. CHUNK:DIMENSIONS
  3072. Gadgets x
  3073. Texts y
  3074. Arrays z
  3075. x = Die Anzahl der Gadgets in Eurem Fenster. Hier werden nur selbst-
  3076.     definierte gez
  3077. hlt, die Duration- und Test-Ok-Cancel-Buttons nicht.
  3078. y = Die Anzahl der Texte. Sie ist Anzahl der Gadgets (f
  3079. r den Namen) +
  3080.     die Anzahl der gesamten Auswahlm
  3081. glichkeiten von Cycle- und Radio-
  3082.     gadgets. 
  3083.     Die "richtigen" Texte des Text-Chunks werden nicht mitgez
  3084.     Also einfach die Menge der eigenen Gadgets und die Anzahl der Cycle-
  3085.     Eintr
  3086. ge addieren, und man hat y.
  3087. y = Die Menge der Cycle- und Radio-Gadgets.   
  3088. @endnode
  3089. @node p_window "CHUNK:WINDOW"
  3090. CHUNK:WINDOW
  3091. x = Die H
  3092. he des BlankerPrefs-Fensters in Pixeln.
  3093. y = Die Breite des BlankerPrefs-Fensters in Pixeln.
  3094. @endnode
  3095. @node p_duration "CHUNK:DURATION_POS"
  3096. CHUNK:DURATION_POS
  3097. x,y,w,h
  3098. Wie schon mehrmals angesprochen, geh
  3099. rt der Duration-Schieber nicht zu
  3100. den selbstdefinierbaren Gadgets. Madhouse erledigt hier die Arbeit.
  3101. Da aber ein frei in der Gegend positionierter Slider nicht gut aussieht,
  3102. gibt es trotzdem die M
  3103. glichkeit, den Platz und die Gr
  3104. e des Duration-
  3105. Sliders zu bestimmen:
  3106. x = Linke Ecke des Duration-Sliders.
  3107. y = Obere Ecke des Duration-Sliders.
  3108. w = Breite des Sliders.
  3109. h = H
  3110. he des Sliders.
  3111. @endnode
  3112. @node p_gadgets "CHUNK:GADGETS"
  3113. Dieser Chunk enth
  3114. lt 1 bis n-mal eine solche Angabe:
  3115. Typ,x,y,w,h,Name,Flags
  3116. Anzahl der Tags,Tag1,Data1,Tag2,Data2...
  3117. [Anzahl der Array-Elemente,Element1,Element2,...]
  3118. Vor jeder dieser Zeilenbl
  3119. cke d
  3120. rfen beliebig viele Leerzeilen (zur 
  3121. sichtlichkeit) stehen, jedoch nicht IN einem solchen Block (vgl. auch an-
  3122. dere Gadget-Dateien).
  3123. Das sieht jetzt sehr schwierig aus, aber man kann ja schlie
  3124. lich bei
  3125. den anderen Blankern abgucken... Au
  3126. erdem werde ich noch Beispiele bringen.
  3127. Die erste Zeile ist immer 
  3128. hnlich:
  3129.     Typ = Typ des Gadgets. Hier wird zwischen Stringgadgets (f
  3130. r Zeichen-
  3131.           ketten), Sliders (die Schieberegler), Cycles (die 'Bl
  3132. ttersym-
  3133.           bole'), Integergadgets (f
  3134. r Ganzzahlen), Checkmarks (die H
  3135. kchen-
  3136.           gadgets) und MX's (auch Radiobuttons genannt, hat nichts mit
  3137.           Rundfunk zu tun) unterschieden.
  3138.           Je nachdem, was f
  3139. r ein Gadget man erstellen m
  3140. chte, schreibt
  3141.           man hier
  3142.           String       f
  3143. r Stringgadgets,
  3144.           Checkmark    f
  3145. r Checkmark-gadgets,
  3146.           Slider       f
  3147. r Sliders
  3148.           Cycle        f
  3149. r Cycles
  3150.           Number       f
  3151. r Integer-gadgets oder
  3152.           Radio        f
  3153. r Radio- bzw. MX-gadgets.
  3154.           Die anderen Typen sind in Madhouse nicht m
  3155. glich oder nicht re-
  3156.           levant.  
  3157. x,y,w,h = Die Positionen und Dimensionen des Gadgets. x,y = linke, obere
  3158.           Ecke, w = Breite, h = H
  3159.    Name = Text, der z.B. neben dem Gadget stehen soll.
  3160.   Flags = Hiermit wird definiert, wo der Text "Name" stehen soll:
  3161.           TextLeft     der Text steht links neben dem Gadget,
  3162.           TextRight    der Text steht rechts neben dem Gadget,
  3163.           TextTop      der Text steht 
  3164. ber dem Gadget oder
  3165.           TextBottom   der Text steht unter dem Gadget.
  3166. Die zweite Zeile ist die Tag-Zeile. Denn manche Gadgets ben
  3167. tigen noch
  3168. weitere Informationen, und die werden mit Tags 
  3169. bergeben. Ein Slider
  3170.  z.B. wissen was sein Wertebereich ist.
  3171. Die Tag-Zeile beginnt immer mit der Anzahl der Tags, z.B. "1".
  3172. Viele Gadgets ben
  3173. tigen so etwas aber nicht, deshalb schreibt man da
  3174. 1,Done
  3175. Jede Tag-Zeile mu
  3176.  mit einem "Done" aufh
  3177. Bei einem @{B}Slider@{UB} hei
  3178. 5,SlMin,minimum-Wert,SlMax,maximum-Wert,Done
  3179. r "minimum-Wert" und "maximum-Wert" mu
  3180. rlich etwas nach eigenen Vor-
  3181. stellungen eingesetzt werden.
  3182. Auch ein @{B}Stringgadget@{UB} kann Tags besitzen:
  3183. 3,StMaxChars,maximale Anzahl Zeichen,Done
  3184. Hier wird f
  3185. r "maximale Anzahl Zeichen" ein Wert eingesetzt, der angibt,
  3186. wieviel Zeichen das Stringgadget maximal aufnehmen darf. Wird mehr als 500
  3187. angegeben, oder lautet die Zeile nur
  3188. 1,Done
  3189. dann wird der Default-Wert von 500 Zeichen benutzt.
  3190. Das waren schon alle Gadgets, die Tags ben
  3191. tigen.
  3192. Die Schl
  3193. sselw
  3194. rter ("String", "Checkmark", "TextRight", "SlMin", "Done",
  3195. u.s.w.) k
  3196. nnen in Egalschreibung geschrieben werden (also Pascal-gro
  3197.  oder
  3198. C-klein oder ARexx-gemischt oder irgendwie).
  3199. Die dritte Zeile ist die Array-Zeile. Cycle-Buttons und Radio-Gadgets
  3200.  noch mitgeteilt werden, was als m
  3201. gliche Auswahl zur Verf
  3202. steht. Achtung: sind die Werte im CHUNK:DIMENSIONS richtig gesetzt?
  3203. (Man mu
  3204.  die Radio- und Cycle-Gadgets durchz
  3205. hlen und das Ergebnis unter
  3206. "Arrays" im CHUNK:DIMENSIONS eintragen. Dies steht aber dort erkl
  3207. Als Beispiel dient jetzt ein Cycle, welches zwischen vier Farbpaletten
  3208. umschalten l
  3209. Cycle,140,20,200,12,Farbauswahl,TextLeft
  3210. 1,Done
  3211. 4,Farbset 1,Farbset 2,Farbset 3,Farbset 4
  3212. Die erste Ziffer ist wieder die Anzahl der Auswahlm
  3213. glichkeiten.
  3214. @endnode
  3215. @node p_duration "CHUNK:DURATION_POS"
  3216. @node p_locale "CHUNK:LOCALE"
  3217. CHUNK:LOCALE
  3218. sprache1,sprache2,...
  3219. Bei der Lokalisierung von Madhouse sto
  3220.  ich auf das Problem der Blanker-
  3221. Prefs-Fenster, die ja nicht auch noch alle ihren eigenen catalog haben
  3222. sollten.
  3223. Deshalb m
  3224. ssen - falls dieser CHUNK in der Datei vorkommt - die Chunks
  3225. GADGETS und MUI-WINDOWLAYOUT in den Angaben f
  3226. r Gadgettexte jeweils
  3227. alle verschiedenen Sprachen beinhalten. Um das nicht zu kompliziert zu
  3228. ren, zeige ich Euch zwei Beispiele:
  3229. CHUNK:GADGETS
  3230. CYCLE,112,4,170,12,"Mode,Modus",TEXTLEFT
  3231. 1,DONE
  3232. 3,"Bouncing Point|Wusel|Random,Springender Punkt|Wusel|Zufall"
  3233. SLIDER,112,19,170,12,"Wusel lenght,Wusell
  3234. nge",TEXTLEFT
  3235. 5,SLMIN,1,SLMAX,20,DONE
  3236. CHECKMARK,112,34,26,12,"Sound,Toneffekt",TEXTLEFT
  3237. 1,DONE
  3238. CHUNK:MUI-WINDOWLAYOUT
  3239. ColumnGroup(2),
  3240.    Label( "_Mode,_Modus" ),
  3241.    Cycle( "m", "Bouncing Point|Wusel|Random,Springender Punkt|Wusel|Zufall" ),
  3242.    Label( "Wusel _lenght,Wusel_l
  3243. nge" ),
  3244.    Slider( "l", 1, 20 ),
  3245.    Label("_Sound,To_neffekt"),
  3246.    HGroup,
  3247.       CheckMark( "s,n" ),
  3248.       HVSpace,
  3249.    End,
  3250. Diese beiden Chunks aus CrazyPixel/gadget zeigen wohl alle Problemf
  3251. die mir spontan einfallen. Da es in der Gadgetdatei keine Texte gibt,
  3252. die sich nicht irgendwie auf die Bildschirmausgabe beziehen, sind alle
  3253. Textangaben (erkennbar an den "-Zeichen) vom Locale-Chunk betroffen.
  3254. Leser, die bis jetzt noch keinen CHUNK:MUI-WINDOWLAYOUT vor Augen hatten,
  3255. brauchen sich den ja nicht anzusehen, erst nachdem sie die MUI-Kapitel
  3256. gelesen haben.
  3257. Wie man problemlos erkennen kann, hat jede Textangabe ein , in der Mitte.
  3258. Dieses ist auch echt wichtig, da die Kommas die Sprachen voneinander
  3259. trennen. Hier sind die linken Teile (also die 1. Sprache) englisch, und die
  3260. rechten Teile (2. Sprache) deutsch. Also sieht der passende CHUNK:LOCALE
  3261. so aus:
  3262. CHUNK:LOCALE
  3263. english,deutsch
  3264. Weitere Sprachen k
  3265. nnten folgen, dann m
  3266. ssen aber auch alle Texte dement-
  3267. sprechend mehr Kommas haben. Madhouse geht nun folgenderma
  3268. en vor:
  3269. - Wenn am Programmstart des MadhouseConfigEd bereits festgestellt wurde,
  3270.  dies kein OS 2.1-oder-h
  3271. her-Amiga ist, wird ab sofort "english" als
  3272.   die voreingestellte Sprache angesehen; sonst die Sprache, die man im
  3273.   Locale-Editor der Workbench eingestellt hat (also z.B. "deutsch").
  3274. - Bevor nun ein BlankerPrefs-Fenster ge
  3275. ffnet wird, wird die zugeh
  3276.   gadget-Datei nach dem CHUNK:LOCALE durchsucht (Ihr glaubt gar nicht, was
  3277.   das arme Ding alles mitmachen mu
  3278. ...). Ist der nicht da, werden die Texte
  3279.   innerhalb der Anf
  3280. hrungszeichen einfach ins Fenster 
  3281. bernommen, und
  3282.   diese Aufstellung hier hat ein Ende.
  3283.   Ist er aber da, wird nachgesehen, ob die Zeile mit den Sprachennamen die
  3284.   eingestellte Sprache (also f
  3285. r OS 2.0 "english") beinhaltet, und wenn ja,
  3286.   nach dem wievielten Komma. Wenn nicht, wird die Sprache verwendet, die
  3287.   zuerst aufgef
  3288. hrt wird (SOLLTE "english" sein).
  3289. - Trifft nun Madhouse beim Aufbau der Gadgets auf Texte, also auf etwas das
  3290.   mit " anf
  3291. ngt, so werden einfach dementsprechend viele Kommas 
  3292.   sprungen, je nachdem, an welcher Stelle die ausgew
  3293. hlte Sprache stand.
  3294.   Das Ergebnis wird weitergeleitet.
  3295. Wie oben im GADGET-Chunk ersichtlich ist, hat bei Cyclegadgets das Komma
  3296. eine h
  3297. here Priorit
  3298. t als das Trennzeichen |. Es wird also nicht jeder
  3299. einzelne Cycleeintrag umgesetzt, sondern der gesamte Text. Au
  3300. erdem sind
  3301. r MUI-Programmierer - auch die Tastaturbelegungen als Texte anzusehen.
  3302. Diese sind also auch lokalisiert, f
  3303. r den Fall, da
  3304.  ein deutsches Wort
  3305. keinen Buchstaben des englischen Wortes enth
  3306. lt. Dementsprechend k
  3307. die Buchstaben in den Gadgettexten anders unterstrichen werden, und die
  3308. Gadgettasten k
  3309. nnen unterschiedlich sein, wie bei "_Sound,To_neffekt".
  3310. Wenn sich jedoch die Gadgettexte oder Tasten nicht unterscheiden, mu
  3311. nicht extra "_Level,_Level" oder "l,l" geschrieben werden, "_Level" oder
  3312. "l" reicht aus. Wenn Madhouse n
  3313. mlich kein Komma findet, wird die Locale
  3314. einfach nicht beachtet.
  3315. Der LOCALE-Chunk selbst mu
  3316.  die Sprachennamen in Kleinschrift enthalten,
  3317. und zwar in der Sprache auf die sie sich beziehen. Alles klar? N
  3318. Was ich meine, ist, da
  3319.  man fran
  3320. ais anstatt von franz
  3321. sisch schreiben
  3322. Hoffentlich ist der Locale-Chunk nun nicht zu einem der schwersten ge-
  3323. worden. Es gibt da halt soviele Sonderf
  3324. lle, OS 2.0 oder dr
  3325. ber, ver-
  3326. wendet oder nicht, vorn oder hinten, ... 
  3327. Aber das Beispiel hat doch alles klar gemacht, oder? Nat
  3328. rlich, Carsten!
  3329. Na prima, dann kann ich ja wieder beruhigt einschlafen.
  3330. @endnode
  3331. @node p_blankerinfo "CHUNK:BLANKERINFO"
  3332. Dieser Chunk wird nicht f
  3333. r das BlankerPrefs-Fenster ben
  3334. tigt, sondern
  3335. er wird von Madhouse w
  3336. hrend des Verzeichnisbaum-Lesens gelesen.
  3337. Er enth
  3338. lt allgemeine Infos zum Blanker. Einige Daten werden nur vom MUI-
  3339. Programmteil ausgewertet, aber bitte trotzdem immer alles ausf
  3340. llen!
  3341. @{B}EXTREM WICHTIG: Madhouse schaut sich die Daten in diesem Chunk NUR
  3342. beim Lesen des Verzeichnisses (Path-Gadget benutzen) an. Das hei
  3343. t, da
  3344. eine 
  3345. nderung an diesen Werten nur dann eine Auswirkung auf Madhouse
  3346. und den Blanker hat, wenn das Blankers-Verzeichnis neu gelesen wird.
  3347. Bis dies nicht geschieht, arbeitet Madhouse mit den alten CPU-Usage und
  3348. Stack-Werten.
  3349. @{UB}
  3350. CHUNK:BLANKERINFO
  3351. Version
  3352. CPU-usage
  3353. Stack
  3354.      Name = Der Name des Autors.
  3355.   Version = Die Versionsnummer des Blankers. F
  3356. ngt ab 1 an und wird dann
  3357.             ganzzahlig heraufgez
  3358. hlt. 1.4 ist also falsch; 3, 6, 8008743
  3359.             gehen aber.
  3360. CPU-Usage = kann 1 oder 0 sein. Wenn "CPU active:" auf "only simple Blan-
  3361.             gers" gestellt ist, mu
  3362.  Madhouse wissen, ob der Blanker die CPU
  3363.             stark (1) oder fast gar nicht (0) beansprucht. 1/3 Belastung
  3364.             w
  3365. rde ich noch zu 1 z
  3366. hlen! Den ganzen CPU-Krams habe ich schon
  3367.             in @{"Advanced Options",link adv_op} erkl
  3368. rt. Entscheidet
  3369.             selbst, ob Ihr neben Eurem Blanker einen Raytracer laufen lassen
  3370.             w
  3371. rdet... Die CPU-Belastung kann mit einem entsprechenden Tool
  3372.             gemessen werden.
  3373.     Stack = h
  3374. ngt von Eurer Programmierweise und dem Compiler ab. Zuerst
  3375.             sollte man es mit 5000 probieren und den Blanker gr
  3376. ndlich
  3377.             austesten. Bei Problemen, die sich in Form von Abst
  3378.             
  3379. ern sollten, einfach mehr probieren. Eventuell legt der
  3380.             Compiler (in C kann man das mit static bestimmen) alle Daten
  3381.             des Programms auf den Stack, dann kann man schnell die ben
  3382.             tigte Menge Speicherplatz 
  3383. berschlagen.
  3384.             Wenn sich Rekursionen im Programm befinden, sollte der Stack
  3385.             ebenfalls gro
  3386. gig bemessen sein. (Hi Einsteiger: wer nicht
  3387.             wei
  3388. , was Rekursionen sind, der hat auch keine im Programm!)
  3389. @endnode
  3390. @node p_bevelboxes "CHUNK:BEVELBOXES"
  3391. Was ist plastisch, dreidimensional, sieht aus wie ein Button und ist
  3392. (fast) v
  3393. llig nutzlos?! - Bevelboxen!
  3394. Bevelboxes sind die Umrandungen, die mehrere Gadgets zu einer Gruppe zu-
  3395. sammenfassen. Im nicht-MUI-Fenster des Stars-Blankers kann man sie gut er-
  3396. kennen. (Kleiner Tip: wer sich die BlankerPrefs-Fenster ansehen will, die
  3397. von Madhouse erzeugt werden, wenn MUI nicht vorhanden ist, der kann
  3398. - entweder die betreffende gadget-Datei um einen MUI-WINDOWLAYOUT-Chunk
  3399. rmer machen oder
  3400. - den ConfigEd mittels Use oder Save beenden, alle anderen MUI-Anwen-
  3401.   dungen beenden, mit "avail flush" in der Shell die muimaster.library
  3402.   aus dem Speicher r
  3403. umen und diese Library umbenennen. Dann kann der
  3404.   ConfigEd sie nicht mehr finden, wenn er aufgerufen wird, und 
  3405. ffnet von
  3406.   nun an auch die normalen BlankerPrefs-Fenster.)
  3407. CHUNK:BEVELBOXES
  3408. Menge
  3409. x,y,w,h
  3410. [x,y,w,h]
  3411. [x,y,w,h]
  3412. [...]
  3413.  Menge = Die Anzahl der Bevelboxes.
  3414.      x = X-Position der Box.
  3415.      y = Y-Position der Box.
  3416.      w = Breite der Box.
  3417.      h = H
  3418. he der Box.
  3419. Hinter dem Chunk-Header folgt die Anzahl der Boxen. Dann dieselbe Anzahl
  3420. Zeilen, jede Zeile definiert eine Box. 
  3421. @endnode
  3422. @node p_texts "CHUNK:TEXTS"
  3423. Der Text-Chunk erlaubt das Schreiben in die BlankerPrefs-Fenster. So
  3424. nnen Texte erzeugt werden, die nicht direkt zu einem Gadget geh
  3425. sondern frei in der Gegend positioniert werden k
  3426. nnen.
  3427. CHUNK:TEXTS
  3428. Menge
  3429. Farbe,x,y,Text
  3430. [Farbe,x,y,Text]
  3431. [Farbe,x,y,Text]
  3432. [...]
  3433.  Menge = Die Anzahl der Texte.
  3434.  Farbe = Die Farbe des Textes (am besten nur 1 - 3).
  3435.      x = X-Position des Textes.
  3436.      y = Y-Position des Textes.
  3437.   Text = Der Text selbst. Bitte ohne Anf
  3438. hrungszeichen.
  3439. Ein solcher Text-Chunk ist ebenfalls im Stars-Blanker-"gadget"-file zu
  3440. finden. Der Aufbau des Chunks 
  3441. hnelt dem der Bevelboxes, erst die Anzahl
  3442. der Texte und dann genausoviel Zeilen darunter, jede Zeile spezifiziert
  3443. einen Text.
  3444. @endnode
  3445. ## -------------------------------------------------------------------
  3446. @node pm_exp "Madhouse-MUI f
  3447. r Leute, die sich schon auskennen."
  3448. In diesem Kapitel werden nur die Unterschiede zwischen dem C-Makro-
  3449. Headerfile "libraries/mui.h" und dem Chunk MUI-WINDWLAYOUT besprochen.
  3450. Eigentlich sieht so eine Deklaration in der gadget-Datei genauso aus wie
  3451. im C-Quelltext. (Bitte mal in einer gadget-Datei nachsehen!)
  3452. Der Chunk MUI-WINDOWLAYOUT enth
  3453. lt jedoch nur den Auszug einer MUI-
  3454. Applikationsdeklaration, wo der Fensterinhalt erstellt wird. Madhouse
  3455. kennt die Gruppentypen HGroup, VGroup sowie ColumnGroup( Anzahl der Spal-
  3456. ten). 
  3457. Die Gadgets werden deklariert, indem man den Gadget-Typ zwischen ein
  3458. Group,...End, schreibt und in Klammern die n
  3459. tigen Parameter 
  3460. gibt (siehe @{"Gadget-Beschreibungen",link pm_gadgets}).
  3461. Die Gruppen erhalten einen Titel, indem man diesen mit in die Gruppen-
  3462. deklaration schreibt:
  3463. VGroup( "Laber" ), bzw. HGroup( "Bla" ), oder ColumnGroup( "S
  3464. lz", 2 ).
  3465. Jede Gruppen- oder Gadgetdeklaration wird in eine Zeile geschrieben,
  3466. immer von einem Komma gefolgt. Auch die letzte Zeile mu
  3467.  mit einem
  3468. Komma abgeschlossen werden.
  3469. Soll man einen Buchstaben angeben, der zur Tastatursteuerung von Gadgets
  3470. benutzt werden soll, so mu
  3471.  dieser in Anf
  3472. hrungszeichen eingeschlossen
  3473. sein und nicht in Hochkommas, wie in C sonst 
  3474. blich.
  3475. Diese Beschreibung reicht nat
  3476. rlich noch nicht allein aus, um ein MUI-
  3477. BlankerPrefs-Fenster zu erzeugen. Deshalb solltet Ihr noch die beiden
  3478. unteren Kapitel (Gadgets, Gruppen) lesen.
  3479. @endnode
  3480. @node pm_start "MUI von Null auf Hundert f
  3481. r MUI-Greenhorns."
  3482. Damit Ihr die Erstellung einer MUI-Oberfl
  3483. che schafft, mu
  3484.  ich Euer Hirn
  3485. erstmal etwas durchsch
  3486. tteln. Denn aus dem normalen Programmiereralltag
  3487. seid Ihr absolute und pixelgenaue Positionierung von Gadgets und anderen
  3488. grafischen Dingen gewohnt. Und jetzt kommt da einer daher, der Euch er-
  3489. ren will, wie man eine komplette Oberfl
  3490. che ganz ohne Koordinaten
  3491. aufbaut. Nachdem ich Euch darauf hingewiesen habe, was Euch gleich er-
  3492. wartet, kommt jetzt Psycho-Trick Nummer 1:
  3493. Hier seht Ihr eine stilisierte Oberfl
  3494.          +--+----------------------------------------+--+--+
  3495.          |  | Fenstertitel                           |  |  |
  3496.          +--+----------------------------------------+--+--+
  3497.          |                    Button 1                     |
  3498.          +-------------------------------------------------+
  3499.          |                    Button 2                     |
  3500.          +-------------------------------------------------+
  3501.          |                    Button 3                     |
  3502.          +-------------------------------------------------+
  3503.          |                    Button 4                     |
  3504.          +-------------------------------------------------+
  3505. Beschreibt einfach verbal, was Ihr seht. Wie sind die vier Kn
  3506. pfe in diesem
  3507. Fenster angeordet? Na klar: untereinander. Oder anders ausgedr
  3508. ckt: verti-
  3509. Mit diesem kleinen Beispiel wird schon einmal deutlich, wie man Gadgets
  3510. ohne Angabe von Positionen anordnen lassen kann. Man sagt MUI: Die Gadgets
  3511. kommen untereinander. Au
  3512. erdem sagt man MUI, was die Gadgets sind, also
  3513. blichen Beschreibungen (Cyclegadget, was sind die Cycleeintr
  3514. ge, was
  3515. ist der Wertebereich eines Sliders u.s.w.).
  3516. Daraus kann man sich ja schon ableiten, was wohl die zweite Anordnungsform
  3517. sein wird: horizontal, also nebeneinander. Diese Anordnungsformen werde
  3518. ich demn
  3519. chst als "Gruppen" bezeichnen. Wir h
  3520. tten da also horizontale und
  3521. vertikale Gruppen.
  3522. Aber das reicht ja noch lange nicht. Schlie
  3523. lich sind Oberf
  3524. lche meist
  3525. viel komplizierter. Deshalb gibt es ein weiteres Feature:
  3526. neben normalen Gadgets k
  3527. nnen die Gruppen noch weitere Gruppen enthalten.
  3528. <Lange Denkpause.>
  3529. Wie sieht also das oben dargestellte Fenster aus, wenn wir Anstelle von
  3530. Button 3 eine horizontale Gruppe mit zwei Buttons setzen? Das solltet
  3531. Ihr Euch jetzt mal auf Papier aufzeichen. Die L
  3532. sung ist folgende: @{" ",link pm_solv}.
  3533. rlich k
  3534. nnen die Untergruppen noch Unteruntergruppen enthalten, so
  3535. geht das dann weiter bis in alle Ewigkeit. Damit kann man dann schon eine
  3536. Menge anstellen. In der Regel arbeitet man aber nicht nur mit Buttons,
  3537. sondern viel mehr mit allen anderen Gadgettypen.
  3538. Und die anderen Gadgettypen bestehen nicht nur aus dem Gadget selbst, son-
  3539. dern auch aus dem Text davor, der das Gadget beschreibt. Dieser Text,
  3540. der z.B. dem "Blanker wechseln/Exchange Blanker"-Checkmark erst seinen Na-
  3541. men gibt, nennt man Label.
  3542. r viele Gadgets kennt Madhouse eine Kurzform, die nicht nur das Gadget
  3543. selbst, sondern auch das entsprechende Label davor erzeugt. Diese Kurz-
  3544. formen verwendet man aber in der Regel sehr selten.
  3545. Der Grund daf
  3546. r ist, da
  3547.  alle Gadgets verschiedene Breiten und Ausdehnungs-
  3548. glichkeiten haben, und da
  3549.  MUI die Gadgets von z.B. einer horizontalen
  3550. Gruppe immer zur Mitte der Gruppe zentriert. Will man drei Slider 
  3551. einander erzeugen, die ja wahrscheinlich mit drei unterschiedlich langen
  3552. Labels beschriftet werden, so gleicht keine linke Sliderkante der anderen.
  3553. Man hat den Eindruck, da
  3554.  die Gadgets wild umherfliegen.
  3555. Um die Oberf
  3556. chen also sch
  3557. ner zu machen, bietet MUI neben den horizon-
  3558. talen und den vertikalen Gruppen noch die Spalten- bzw. die Column-
  3559. Gruppen an. Wie hat man sich das vorzustellen? Eine Column-Gruppe steht
  3560. nicht einfach so da und wird von oben nach unten gef
  3561. llt, sondern sie
  3562. hat eine Spaltenanzahl. Eine Column-Gruppe hat eine Struktur wie Karo-
  3563. Papier, die K
  3564. stchen werden von links nach rechts ausgef
  3565. llt. Wenn die
  3566. Spaltenanzahl erreicht ist, erzeugt die Column-Gruppe die n
  3567. chste
  3568. Zeile. Hier kommt ein Fenster mit einer Column-Gruppe mit zwei Spalten.
  3569. Dieser Column-Gruppe wurden folgende Objekte zugeordnet:
  3570. ein Label, ein Slider, ein Label, ein Slider, ein Label, ein Cycle-Gadget.
  3571.          +--+----------------------------------------+--+--+
  3572.          |  | Fenstertitel                           |  |  |
  3573.          +--+----------------------------------------+--+--+
  3574.          | Label 1  |                Slider                |
  3575.          +-------------------------------------------------+
  3576.          | Label 2  |                Slider                |
  3577.          +-------------------------------------------------+
  3578.          | Label 3  |                Cycle                 |
  3579.          +-------------------------------------------------+
  3580. Aber wie w
  3581. rde sowas denn nun eigentlich in der Gadget-Datei aussehen?
  3582. Zuerst mal der ungef
  3583. hre MUI-CHUNK f
  3584. r das erste Beispiel (eine einfache
  3585. horizontale Gruppe mit vier Buttons):
  3586. CHUNK:MUI-WINDOWLAYOUT
  3587. VGroup,
  3588.    Button1,
  3589.    Button2,
  3590.    Button3,
  3591.    Button4,
  3592. Hier werden einer vertikalen Gruppe (VGroup) vier Buttons zugeordnet.
  3593. Das End "schlie
  3594. t" diese Gruppe. Hinter jeder Zeile steht ein Komma,
  3595. trotzdem darf man diese Ausdr
  3596. cke nicht in einer Zeile zusammenfassen.
  3597. Die zugeordneten Buttons r
  3598. ckt man ein paar Zeichen ein, damit klar
  3599. wird, da
  3600.  die Buttons zu dieser Gruppe geh
  3601. ren. Man sagt auch: "Die Buttons
  3602. sind Kinder der VGroup."
  3603. Mit der VGroup (oder HGroup, falls die Gadgets nebeneinander geh
  3604. und dem End verh
  3605. lt es sich wie mit den Klammern in einem Text, so geh
  3606. einer Gruppe immer das End, was in derselben Spalte steht. Madhouse liest
  3607. das aber nicht an der Spaltennummer ab, sondern macht es anders (was ich
  3608. hier aber nicht auch noch erk
  3609. ren will). Deshalb mu
  3610.  man nichts einr
  3611. cken,
  3612. aber es ist doch bedeutend 
  3613. bersichtlicher.
  3614. Und was ist nun mit der Column-Gruppe von eben? Da kommt sie:
  3615. CHUNK:MUI-WINDOWLAYOUT
  3616. ColumnGroup( 2 ),
  3617.    Label( "_Label 1" ),
  3618.    Slider( "l", 1, 10 ),
  3619.    Label( "L_abel 2" ),
  3620.    Slider( "a", -5, 20 ),
  3621.    Label( "La_bel 3" ),
  3622.    Cycle( "b", "Erster Eintrag|Zweiter Eintrag|Dritter Eintrag" ),
  3623. Das ist schon viel Stoff, oder? Nach dem Chunk-Header
  3624. "CHUNK:MUI-WINDOWLAYOUT", der Madhouse sagt, da
  3625.  hier die MUI-Beschrei-
  3626. bung losgeht, folgt die Column-Gruppe mit den zwei Spalten, wie in der
  3627. Skizze oben. Die folgenden Kinder der Gruppe werden von links nach rechts
  3628. und von oben nach unten in die Spaltengruppe eingef
  3629. gt. Man sollte darauf
  3630. achten, da
  3631.  die Spaltenzahl Teiler der Anzahl der Kinder einer Column-
  3632. Gruppe ist. Anders ausgedr
  3633. ckt: wir haben sechs Kinder f
  3634. r eine Gruppe mit
  3635. zwei Spalten. 6 durch 2 geht glatt auf, 7 durch 2 z.B. nicht. Eine Column-
  3636. Gruppe mu
  3637. mlich immer bis in die letzte Spalte aufgef
  3638. llt sein. Wenn
  3639. einem das nicht pa
  3640. t, behilft man sich anders, aber dazu sp
  3641. Oben k
  3642. nnen wir noch sehen, wie man ein Label erstellt. (Dieses Beispiel
  3643. nnte man schon so wie es dasteht in eine Gadget-Datei schreiben.)
  3644. Also, in die Anf
  3645. hrungszeichen kommt der Text, der dann in das betreffende
  3646. stchen" der MUI-Gruppe eingef
  3647. gt wird. In diesem Text kann ein Under-
  3648. score ("_") vorkommen, der angibt, da
  3649.  das nachfolgende Zeichen unter-
  3650. strichen wird.
  3651. Das ist auch n
  3652. tig, damit der Benutzer wei
  3653. , mit welcher Taste er ein
  3654. Gadget steuern kann. MUI ist n
  3655. mlich extrem tastaturfreundlich.
  3656. Der nachfolgenden "Deklaration", ein Slider, wird schon als erstes Argu-
  3657. ment der Buchstabe 
  3658. bergeben, mit dem der Slider gesteuert wird. Diese
  3659. Buchstaben sind immer klein zu schreiben. Dann kommen Minimal- und
  3660. Maximalwert des Sliders, also reicht der erste Slider von 1 bis 10.
  3661. Nun wird der n
  3662. chste Slider beschriftet. Er hat den Buchstaben "a", und
  3663. sein Wertebreich geht von -5 bis 20.
  3664. Jetzt kommt noch das dritte Label, Hotkey "b". Dann kommt etwas Neues:
  3665. die Deklaration eines Cycle-Gadgets. Wie auch beim Slider wird zuerst der
  3666. Hotkey angegeben, dann folgen die Eintr
  3667. ge des Cycle-Gadgets, getrennt
  3668. durch "|".
  3669. Wo wir gerade bei den Hotkeys, also den Tastatursteuerungsbuchstaben f
  3670. Gadgets, sind: Diese Hotkeys d
  3671. rfen nur einmal vorkommen. "Verbotene"
  3672. Buchstaben sind o, t und c: Damit werden schon die Gadgets am unteren
  3673. Rand des BlankerPrefs-Fensters gesteuert.
  3674. War nicht vorhin davon die Rede, da
  3675.  man die Gruppen schachteln kann?
  3676. Wann ben
  3677. tigt man denn sowas?
  3678. Sicherlich habt Ihr gemerkt, da
  3679.  MUI die Gadgets nicht nur automatisch,
  3680. sondern auch dynamisch anordnet. So ziemlich jedes MUI-Fenster hat ein
  3681. en-Gadget, und die Gadgets passen sich automatisch der neuen Fenster-
  3682. e an, nachdem man es benutzt hat.
  3683. Viele MUI-Fenster lassen sich nur in die Breite ziehen, die vertikale
  3684. t sich weniger oft ver
  3685. ndern (an einigen BlankerPrefs-Fenstern
  3686. ausprobieren).
  3687. Warum eigentlich? Nun, jedes MUI-Objekt (also vor allem die Gadgets, die
  3688. Gruppen auch, aber von denen reden wir jetzt lieber nicht auch noch)
  3689. hat eine minimale und maximale H
  3690. he und Breite. Ein Slider, ein String-
  3691. gadget, ein Cyclegadget und noch ein paar andere Sachen haben eine feste
  3692. he. Klar, ein horizontaler Slider kann ja nur breiter werden, w
  3693. rde er
  3694. her, w
  3695. rde das komisch aussehen. Bei vertikalen Slidern, die sich von
  3696. oben nach unten slidern lassen, ist es umgekehrt.
  3697. Listen haben aber sowie horizontale als auch vertikale Vergr
  3698. erungsfrei-
  3699. heit. Will man mehr von ihnen sehen, zieht man das Fenster einfach auf.
  3700. Checkmarks stehen als Objekt da und lassen sich nicht gr
  3701. er und kleiner
  3702. machen. Also lassen sich viele MUI-Fenster nur horizontal vergr
  3703. ern, weil
  3704. die meisten Gadgets vertikal beschr
  3705. nkt sind.
  3706. Wir hatten aber eigentlich gerade das Problem f
  3707. r die L
  3708. sung gesucht, bei
  3709. der man die Gruppen schachtelt. Nun stellt Euch mal vor, im letzten Bei-
  3710. spiel w
  3711. rde man das Cycle-Gadget durch ein Checkmark-Gadget ersetzen.
  3712. Die beiden Slider w
  3713. rden ihre Minimalbreite bekommen (beim Versuch, sich
  3714. ngenm
  3715. ig an das kleine Checkmark-Gadget anzupassen), und das Fenster
  3716. re jetzt gar nicht mehr vergr
  3717. erbar.
  3718. Also machen wir das Checkmark seitlich ausziehbar. Das geht aber nicht.
  3719. Also ersetzen wir das Checkmark durch eine horizontale Gruppe, die
  3720. ein Checkmark und einen Slider enth
  3721. lt. Nun w
  3722. re das Fenster wieder
  3723. horizontal vergr
  3724. erbar, weil die ColumnGruppe wieder vergr
  3725. erbar
  3726. wurde, weil ihre Kinder (die Slider und die HGroup) vergr
  3727. erbar sind. Die
  3728. HGroup wurde 
  3729. brigens vergr
  3730. erbar, weil EINS ihrer Kinder (n
  3731. mlich der
  3732. Slider) vergr
  3733. erbar ist.
  3734. Die Labels sind nicht vergr
  3735. erbar. Genau m
  3736. te es also hei
  3737. Die Column-Gruppe ist horizontal vergr
  3738. erbar, weil mindestens in einer
  3739. Spalte alle Kinder der Gruppe vergr
  3740. erbar sind.
  3741. Nun w
  3742. rden aber alle MUI-Applikationen h
  3743. chst seltsam aussehen, wenn man
  3744. immer Sliders als F
  3745. llstoff verwenden w
  3746. rde. Deshalb gibt es ein Objekt,
  3747. das nach nichts aussieht und das auch nichts kann, das aber in alle Rich-
  3748. tungen ausziehbar ist. Wenn n
  3749. tig, bis nach Tokio.
  3750. Dieses Objekt hei
  3751. t "HVSpace", also w
  3752. rtlich 
  3753. bersetzt, horizontaler
  3754. und vertikaler Raum.
  3755. Also greifen wir wieder das letzte Beispiel aus. So w
  3756. rde die Skizze aus-
  3757. sehen, wenn man das Cycle-Gadget durch eine horizontale Gruppe mit
  3758. Checkmark und HVSpace ersetzen w
  3759.          +--+------------------------------------------+--+--+
  3760.          |  | Fenstertitel                             |  |  |
  3761.          +--+------------------------------------------+--+--+
  3762.          | (Label 1)  | (Slider---------------------------)  |
  3763.          +---------------------------------------------------+
  3764.          | (Label 2)  | (Slider---------------------------)  |
  3765.          +---------------------------------------------------+
  3766.          | (Label 3)  | (Checkmark) | (HVSpace------------)  |
  3767.          +---------------------------------------------------+
  3768. Die Objekte haben jetzt Klammern und Spiegelstriche bekommen, um anzudeu-
  3769. ten, wie ihre Ausdehungsm
  3770. glichkeiten sind.
  3771. Und wie sieht der MUI-WINDOWLAYOUT-Chunk aus? Voil
  3772. (Anm. des Autors: 4
  3773.  Jahre Franz
  3774. sischunterricht hatten wenig zur Folge.
  3775. Aber den acent von voil
  3776.  kann ich schon richtigherum setzen, ohne im
  3777. dictionnaire nachschlagen zu m
  3778. ssen.)
  3779. CHUNK:MUI-WINDOWLAYOUT
  3780. ColumnGroup(2),
  3781.    Label( "_Label 1" ),
  3782.    Slider( "s", 1, 10 ),
  3783.    Label( "L_abel 2" ),
  3784.    Slider( "a", -5, 20 ),
  3785.    Label( "La_bel 3" ),
  3786.    HGroup,
  3787.       CheckMark( "b" ),
  3788.       HVSpace,
  3789.    End,
  3790. Mit diesem Beispiel sollte nun der MUI-Groschen gefallen sein. Mit HV-
  3791. Space k
  3792. nnen auch ColumnGruppen aufgef
  3793. llt werden, bei denen man nicht
  3794. jede Spalte einer Zeile ben
  3795. tigt.
  3796. Eine ausgiebige Lekt
  3797. re der mitgelieferten gadget-Dateien ist sicher auch
  3798. hilfreich, falls man mit MUI einen bestimmten Effekt erzeugen will, dessen
  3799. technische L
  3800. sung einem nicht einf
  3801. rlich war das jetzt noch nicht die gesamte MUI-Anleitung, aber erst-
  3802. mal das Grundwissen zum Layout-Prozess. Die einzelnen Gadgettypen und
  3803. noch eine Spezialit
  3804. t bei den Boxen werden in den n
  3805. chsten Kapiteln
  3806. beschrieben.
  3807. Wie auch das Programmieren, kann das Erzeugen von MUI-Windowlayout-
  3808. Chunks nicht "auf dem Trockenen" erlernt werden. Etwas 
  3809. bung geh
  3810. auch dazu.
  3811. Wer das Grundprinzip verstanden hat, der hat es nun auch schon leichter,
  3812. in die MUI-Programmierung von richtigen Programmen einzusteigen. Allerdings
  3813. schreibt man dann diese Group-Geschichten in den Programmcode und l
  3814. t sie
  3815. von einem waschechten Compiler interpretieren, nicht von einem kleinen
  3816. Programm namens MadhouseConfigEd. Wo da der Unterschied liegt? Nun, ein
  3817. Compiler entsteht in mehreren Mannjahren Arbeit, der Madhouse-Programmteil
  3818. zum Lesen des MUI-WINDOWLAYOUT-Chunks entstand in einer halben Woche.
  3819. Deshalb sei es mir verziehen, wenn ich
  3820. a) nicht jedes Feature in den Interpreter eingebaut habe. Es lassen sich
  3821.    keine Page-Gruppen erzeugen, die Ausdehnungs-Gewichte der Objekte stehen
  3822.    fest auf 100, und es gibt auch keine CustomClasses (was wohl meilenweit
  3823. bertrieben w
  3824. re) und manche Spezialgadgets fehlen auch. Die wichtigsten
  3825.    Dinge k
  3826. nnen aber problemlos erzeugt werden, deshalb sehen die Blanker-
  3827.    Prefs-Fenster auch genauso gut aus wie "richtige" MUI-Appliationen wie
  3828.    Madhouse und alle anderen.
  3829. b) die Fehler in einer gadget-Datei nicht peinlich genau abfrage. Madhouse
  3830.    ist mir zwar infolge von solchen Fehlern noch nie abgest
  3831. rzt, und das
  3832.    wird es sicher auch nicht. Aber es gibt nicht zu jedem Fehler eine
  3833.    Fehlermeldung, denn da h
  3834. tte ich ja fast alle der 260 Fehler, die mein
  3835.    C-Compiler melden kann, auch auf die gadget-Dateien 
  3836. bertragen m
  3837. ssen.
  3838.    Aufmerksam wird man auf die Fehler sowieso, und finden tut man sie auch
  3839.    schnell, denn der MUI-Chunk ist ja immer nur ein paar Zeilen lang.
  3840. brigens arbeitet auch Vionas EGS auf dem Boxenprinzip, die Gadgets werden
  3841. hnlich wie bei MUI angeordnet. EGS wurde auf dem Amiga durch die vielen
  3842. Grafikkarten, mit denen es ausgeliefert wird, bekannt. Deshalb gibt es
  3843. wohl auch kaum EGS-Anwendungen, die nichts mit Grafik zu tun haben.
  3844. @endnode
  3845. @node pm_solv "Die L
  3846. sung"
  3847.          +--+----------------------------------------+--+--+
  3848.          |  | Fenstertitel                           |  |  |
  3849.          +--+----------------------------------------+--+--+
  3850.          |                    Button 1                     |
  3851.          +-------------------------------------------------+
  3852.          |                    Button 2                     |
  3853.          +-------------------------------------------------+
  3854.          |       Button A        |        Button B         |
  3855.          +-------------------------------------------------+
  3856.          |                    Button 4                     |
  3857.          +-------------------------------------------------+
  3858. @endnode
  3859. @node pm_groups "Die Gruppen"
  3860. rlich erkl
  3861. re ich hier nicht das gesamte Boxenprinzip erneut. Das steht
  3862. ja schon alles im Greenhorn-Kapitel.
  3863. @{B}HGroup und HGroup( "Gruppentitel" )@{UB}
  3864. Die HGroup, die ihre Kinder ja 
  3865. bereinander anordnet, kann auch umrahmt
  3866. werden, und wird damit sichtbar. In diesem Rahmen wird dann ein Gruppen-
  3867. titel dargestellt, der die Gruppe sozusagen 
  3868. berschreibt.
  3869. Will man so ein Ding erzeugen, benutzt man die HGroup so wie es in der
  3870. berschrift steht.
  3871. Dasselbe geht auch mit VGroups.
  3872. @{B}ColumnGroup( x ) und ColumnGroup( "Gruppentitel", x )@{UB}
  3873. x steht nach wie vor f
  3874. r die Anzahl der Spalten.
  3875. Wie auch die anderen Gruppen kann die ColumnGroup einen Titel bekommen.
  3876. @endnode
  3877. @node pm_gadgets "Die Gadgets"
  3878. @{B}Einige Standard-Bezeichner in diesem Kapitel@{UB}
  3879. - @{I}Taste@{UI} enth
  3880. lt einen Kleinbuchstaben, der angibt, mit welcher Taste
  3881. auf dem Keyboard des Computers ein Objekt gesteuert werden kann.
  3882. Beispiel: Slider( "a", 5, 10 ) erzeugt einen Slider, der mit der Taste A
  3883. gesteuert wird. Die Tasten "o", "c" und "t" sind bereits f
  3884. r die Standard-
  3885. Gadgets am unteren Rand des BlankerPrefs-Fensters reserviert und k
  3886. daher nicht benutzt werden.
  3887. - @{I}Bezeichnung@{UI} steht f
  3888. r einen Text, auf der linken Seite des betreffenden
  3889. Gadgets angezeigt werden soll. Dieser Text soll das Gadget n
  3890. her erl
  3891. utern.
  3892. Beispiel: LabelCycle( "Color _selection", "s", "Red|Green|Blue" ) w
  3893. ein Cycle-Gadget herstellen, auf dessen linker Seite sich der Text "Color
  3894. selection" befindet, bei dem der Buchstabe "s" unterstrichen wird. Das ist
  3895. tig, damit der Benutzer wei
  3896.  dieses Cycle-Gadget mit dem Buchstaben
  3897. "s" gesteuert wird.
  3898. @{B}Slider( Taste, Minimalausschlag, Maximalausschlag )@{UB}
  3899. erzeugt einen Slider. Minimal- und Maximalausschlag bezeichnen den Aktions-
  3900. Radius des Sliders, inklusive dieser beiden Werte (d.h., da
  3901.  Minimalaus-
  3902. schlag selbst ist auch noch anw
  3903. hlbar ist).
  3904. @{B}LabelSlider( Bezeichnung, Taste, Minimalausschlag, Maximalausschlag )@{UB}
  3905. wie oben, jedoch zus
  3906. tzlich mit einem Label auf der linken Seite.
  3907. @{B}CheckMark( Taste )@{UB}
  3908. stellt ein H
  3909. kchengadget her.
  3910. @{B}Cycle( Taste, Auswahlm
  3911. glichkeiten )@{UB}
  3912. stellt ein Cycle-Gadget mit mehreren Eintr
  3913. gen her. "Auswahlm
  3914. glichkeiten"
  3915. ist eine Zeichenkette, die alle Eintr
  3916. ge enth
  3917. lt. Ein Beispiel daf
  3918. "RGB|HSV|CMYK". Der Vertikalstrich "|" trennt die Eintr
  3919. ge. MUI beginnt das
  3920. hlen der Eintr
  3921. ge (wie sich das f
  3922. r einen Computer geh
  3923. rt) mit Null,
  3924. wenn also RGB der aktive Eintrag ist und der User auf "Test" klickt, steht
  3925. eine "0" in der prefs-Datei.
  3926. @{B}LabelCycle( Bezeichnung, Taste, Auswahlm
  3927. glichkeiten )@{UB}
  3928. wie oben, jedoch zus
  3929. tzlich mit einem Label auf der linken Seite.
  3930. @{B}String( Taste, L
  3931. nge )@{UB}
  3932. erzeugt ein String-Gadget. Es lassen sich maximal so viele Zeichen ein-
  3933. geben, wie bei "L
  3934. nge" angegeben. Wieder ist die Obergrenze f
  3935. r eine
  3936. Stringl
  3937. nge 500, was dar
  3938. ber geht wird automatisch auf 500 gesetzt.
  3939. @{B}LabelString( Bezeichnung, Taste, L
  3940. nge )@{UB}
  3941. wie oben, jedoch zus
  3942. tzlich mit einem Label auf der linken Seite.
  3943. @{B}Label( Bezeichnung )@{UB}
  3944. erlaubt eine bessere Plazierung der Objekte. Wenn Label und Objekt
  3945. getrennt werden (macht man normalerweise so), dann schlie
  3946. en die
  3947. Gadget-Rahmen b
  3948. ndig ab. Man ben
  3949. tigt dann einen Gadgettyp ohne
  3950. Label... am Anfang und dieses Label-Objekt.
  3951. Bezeichnung ist diesmal alles, aus was das Objekt besteht.
  3952. @{B}LLabel( Bezeichnung )@{UB}
  3953. wie oben, jedoch wird dieses Label nicht rechts ausgerichtet, sondern
  3954. links. Das ist praktisch, wenn man hinter einen Slider noch eine Angabe
  3955. klemmen will. Sonst sollten alle Objekte links beschriftet werden, nur
  3956. bei den CheckMarks bin ich mir da nicht so sicher (da macht auch eine
  3957. Beschriftung auf der rechten Seite Sinn). Ein Beispiel f
  3958. r linksb
  3959. ndige
  3960. Labels findet sich in der gadget-Datei von Waves.
  3961. @{B}HVSpace@{UB}
  3962. der ber
  3963. hmte Platzhalter, wie viele andere Dinge schon bekannt aus dem
  3964. Vorkapitel.
  3965. @{B}HBar@{UB}
  3966. Eine sehr elegante Sache, die die Gruppen-Rahmen manchmal ersetzen kann:
  3967. dieses Objekt zeichnet einen waagerechten Strich an seiner Position,
  3968. und sollte nur in horizontalen Gruppen zur Trennung von Funktionen benutzt
  3969. werden.
  3970. @{B}VBar@{UB}
  3971. wie oben, jedoch in der vertikalen Ausf
  3972. hrung. Eine VBar l
  3973. t sich gut
  3974. im BlankerPrefs-Fenster von Stars beobachten.
  3975. @endnode
  3976. @node pm_mpo "Der CHUNK:MUI-PREFSORDER"
  3977. "Wie kann MUI nur mit einem Chunk auskommen?", werden viele schon gefragt
  3978. haben. So ganz geht das doch nicht. Aber jetzt wieder zuerst ein Problem.
  3979. Ganz oben, in der Erkl
  3980. rung wie man einen Blanker zu schreiben hat, schrieb
  3981. ich, da
  3982.  Madhouse die Einstellungen der Gadgets in der Reihenfolge in die
  3983. prefs-Datei abspeichert, in der die Gadgets im CHUNK:GADGETS angegeben wur-
  3984. den. Und im CHUNK:MUI-WINDOWLAYOUT? Da ist es genauso. Allerdings haben wir
  3985. da ein gaaaanz kleines Problem: Man kann mit diesem MUI-Chunk nicht ein
  3986. Gadget in die obere Fensterecke legen und dann seine Einstellung zuletzt
  3987. auslesen wollen. Nat
  3988. rlich k
  3989. nnte man jetzt den Programmtext 
  3990. ndern, und
  3991. mir f
  3992. llt gerade ein, wie sinnlos diese Funktion ist, aber man kann eine
  3993. bestimmte Funktion von Madhouse benutzen, n
  3994. mlich den CHUNK:MUI-PREFSORDER.
  3995. In diesem Chunk wird die Reihenfolge angegeben, mit der die Einstellungen
  3996. in die prefs-Datei geschrieben werden. Bei Waves und Stars habe ich diesen
  3997. Chunk ben
  3998. tigt. Auch Note enth
  3999. lt einen.
  4000. Dazu mu
  4001.  man nun zuerst jedem Gadget einen internen Namen geben, zum Bei-
  4002. spiel so:
  4003. CHUNK:MUI-WINDOWLAYOUT
  4004. VGroup,
  4005.    LLabel( "Ein Ausschnitt aus der Stars-gadget-Datei." ),
  4006.    ColumnGroup( 2 ),
  4007.       Label( "_Maximum" ),
  4008.       Maximum = Slider( "m", 1, 8 ),
  4009.       Label( "M_inimum" ),
  4010.       Minimum = Slider( "i", -7, 1 ),
  4011.       Label( "C_anges" ),
  4012.       Changes = Slider( "a", 0, 15 ),
  4013.       Label( "_Start" ),
  4014.       Start = Slider( "s", -7, 8 ),
  4015.    End,
  4016. Normalerweise w
  4017. rde die prefs-Datei so aussehen:
  4018. Wert von Maximum
  4019. Wert von Minimum
  4020. Wert von Changes
  4021. Wert von Start
  4022. Duration-Zeit in Minuten
  4023. Pfad auf das Verzeichnis des Blankers
  4024. Und jetzt kommts: schreibt man noch
  4025. CHUNK:MUI-PREFSORDER
  4026. Changes, Start, Minimum, Maximum
  4027. dann sieht die prefs-Datei schon ganz anders aus:
  4028. Wert von Changes
  4029. Wert von Start
  4030. Wert von Minimum
  4031. Wert von Maximum
  4032. Duration-Zeit in Minuten
  4033. Pfad auf das Verzeichnis des Blankers
  4034. Naja, sowas braucht man wohl sehr selten bis gar nicht... Wichtig ist aber
  4035. noch, da
  4036.  als "interne Bezeichner" nur ganz gew
  4037. hnliche Buchstaben in
  4038. Frage kommen, nicht aber Zahlen und andere Spezialit
  4039. @endnode
  4040. @node addon "Anhang"
  4041.        @{"A                   Arrrggh: Bekannte Probleme            ",link problems}
  4042.        @{"B       Die Autoren und das: Copyright                    ",link authors}
  4043.        @{B}@{"C         Madhouse ist toll: Registrieren leicht gemacht. ",link registration}@{UB}
  4044.        @{"D            Die Revolution: MUI                          ",link mui_info}
  4045.        @{"E                  Nutzlos
  4046. : alle hier verwendeten Smileys",link smileys}
  4047. @endnode
  4048. @node problems "Bekannte Probleme"
  4049. @{B}Probleme - Kapitel I: Probleme, die von einer Programmiersprache
  4050. namens AMOS (
  4051. ber 43.655 versch. Befehle...) erzeugt werden:@{UB}
  4052.                       @{U}Probleme mit VGA-Monitoren@{UU}
  4053.   Genialerweise 
  4054. ffnen AMOS-Programme keinen normalen Intuition-Screen.
  4055. Wer einen VGA-Monitor ohne ScanDoubler o.
  4056. . sein eigen nennt, der kann
  4057. zwar die Blanker, die von mir in C++ geschrieben wurden, mittels eines
  4058. Screen-Promoters umpatchen; aber die AMOS-Blanker von Aicke m
  4059. ssen hier
  4060. klein beigeben. In diesem Fall hat Madhouse nur sechs Blankmodes, sorry.
  4061. Falls tats
  4062. chlich mal die AMOS-AGA-Version erscheinen sollte, f
  4063. r die
  4064. auch das 
  4065. ffnen von normalen Screens versprochen wurde, wird Aicke
  4066. alle AMOS-Blanker darauf anpassen. Falls Aicke die Programmiersprache
  4067. wechseln sollte (ist noch unwahrscheinlicher), h
  4068. ttet Ihr und ich
  4069. weniger Probleme. Madhouse mu
  4070. mlich extra abgestimmt werden,
  4071. damit AMOS die erzeugten Textdateien lesen kann.
  4072.                        @{U}Probleme mit MousoMeter@{UU}
  4073.   MousoMeter macht leider ebenfalls Probleme mit AMOS-Programmen, was sich
  4074. ert, da
  4075.  MousoMeter wie wild Kilometer z
  4076. hlt. Das bricht jeden High-
  4077. score. Der Grund ist wohl, da
  4078.  AMOS AMOS ist. (Anders kann ich mir das
  4079. nicht erk
  4080. ren.) Spitze, AMOS!
  4081.   Abhilfe: AMOS-Blanker inaktivieren.
  4082. @{B}Probleme, die durch inkompatible Programme entstehen (auch AMOS..)@{UB}
  4083.    @{U}Probleme mit AMOS und Protracker (und vielleicht mit anderen Tracker-@{UU}
  4084.                   @{U}Sound-Editoren, nicht aber mit MED)@{UU}  
  4085.   Manche Programmierer wollen wohl die Grafikausgabe beschleunigen, indem
  4086. sie einen Screen 
  4087. ffnen, der kein Intuition-Screen ist. Diesen k
  4088. nnt Ihr
  4089. nicht wie gew
  4090. hnlich umschalten, au
  4091. er wenn diese Programmierer die Tasten
  4092. <linke Amiga + n> (und +m) selbst abfragen. Na ja, jedenfalls kann man die-
  4093. ses Etwas nicht nach hinten bringen, indem man selbst einen Intui-Screen
  4094. ffnet. Deshalb werden die Blanker FlyingToasters, Stars, FireWorks, Waves,
  4095. Socher und Shuffle (die ich in C schrieb) HINTER AMOS und Protracker ange-
  4096. zeigt. Die anderen Blanker, die Aicke in AMOS schrieb (paradox, oder?)
  4097. nnen aber vor AMOS und Protracker angezeigt werden. Also d
  4098. rfen nur diese
  4099. Blanker bei Benutzung von AMOS und Protracker angew
  4100. hlt sein.
  4101.   Weiterhin funktionieren mit obigen Programmen der Black Background und
  4102. der Pa
  4103. wortscreen nicht, aus demselben Grund.
  4104. @{B}Probleme, die in Sondersituation 48d entstehen:@{UB}
  4105.                 @{U}Probleme mit einer resetfesten Ram-Disk,@{UU}
  4106.                       @{U}die als RAM: gemountet ist@{UU}
  4107.   Dieser Tip stammt von Aicke, und vielleicht bleibt er auch der einzige
  4108. User, der gar keine nicht-resetfeste Ram-Disk hat, daf
  4109. r eine reset-
  4110. feste SD0: oder VD0:, die 
  4111. ber RAM: angesprochen wird.
  4112.   Wer also Madhouse bei jedem Systemstart automatisch aufrufen l
  4113. (z.B. mit der WBStartup-Schublade) und wer ein Ger
  4114. t namens RAM: hat
  4115. welches nach einem Reset NICHT wieder leer ist, der hat ein Problem:
  4116. Madhouse wird nach einem Reset beim Start schon die Schublade
  4117. RAM:Madhouse_Storage vorfinden und denken, es w
  4118. re 2x gestartet worden.
  4119.   Dieses Problem kann man nun umgehen, indem man VOR dem Start von
  4120. Madhouse dieses Shell-Kommando ausf
  4121. hren l
  4122. t, indem man es z.B. in die
  4123. S:User-Startup eintr
  4124. delete >NIL: RAM:Madhouse_Storage ALL
  4125.   Beachtet bitte, da
  4126.  es nicht m
  4127. glich ist, gar kein RAM:-Device zu haben.
  4128. @endnode
  4129. @node authors "Die Autoren und das Copyright."
  4130. @{FG Highlight}@{B}Eine Art History-File: kleiner Geschichtsunterricht@{UB}@{FG Filltext}
  4131. Wir brauchten neunzehn Monate, um Madhouse und die Blankmodes zu entwik-
  4132. keln. Aicke hat fr
  4133. her angefangen, weil mein Computer damals gerade in
  4134. Reparatur war. So entstanden einige seiner Blankmodes fr
  4135. her. Madhouse
  4136. wurde von uns schon fr
  4137. her erdacht, denn immer, wenn wir einen modularen
  4138. Screenblanker in PD-Serien gesehen hatten, gefiel er uns nicht richtig.
  4139. Wir hatten viele Ideen f
  4140. r ein besseres Hauptprogramm, die gr
  4141. tenteils
  4142. in Madhouse verwirklicht wurden. Doch am 
  4143. rgerlichsten waren oft die
  4144. Blankermodule, so kann man sie bei einigen Blankern gerade noch als
  4145. Beispielprogramm durchgehen lassen (dabei waren die Dinger echt dazu
  4146. gedacht, die Leute zu begeistern)...
  4147. Jedenfalls k
  4148. nnen wir die Urspr
  4149. nge von Madhouse nicht mehr richtig
  4150. nachvollziehen. Eine Kritzelei, die schon etwas aussieht wie das
  4151. Hauptfenster befindet sich noch in meinem alten Deutschordner und hat
  4152. das Datum 6.8.93. Damals hie
  4153.  meine Programmiersprache noch GFA-Basic.
  4154. Im "Entwicklertagebuch" des Hauptprogramms kann ich aber den Beginn
  4155. noch ablesen: am 25.1.94 entwarfen Aicke und ich das Design des Haupt-
  4156. fensters. Der Name von Madhouse war zu dieser Zeit nicht Madhouse,
  4157. sondern "BlackHole". Diesen Namen gab es aber schon. So hatte Aicke in
  4158. den folgenden Wochen diverse Einf
  4159. lle f
  4160. r neue Namen. Am 26.2. konnten
  4161. wir uns dann f
  4162. r "Madhouse" entscheiden. Alternativen waren z.B "Joke-
  4163. Box" oder "Monitor-Holidays".
  4164. Wie jedes Programm hatte auch Madhouse viele Bugs. Fast zur Verzweiflung
  4165. trieb mich ein ganz hartn
  4166. ckiger, der Madhouse nach Bet
  4167. tigung des Remove-
  4168. Buttons zum Abst
  4169. rzen brachte. Dabei st
  4170. rzte der Computer genau (das
  4171. konnte ich kontrollieren) beim Aufruf der exit()-Funktion ab, der ein
  4172. Programm beendet. Nach mehreren Wochen fiel mir dann auf, da
  4173.  es an der
  4174. Stackgr
  4175. e von Madhouse lag...
  4176. @{FG Highlight}@{B}Arbeitsteilung: Entwicklung beim Einen, Abst
  4177. rze beim Anderen...@{UB}@{FG Filltext}
  4178. (war umgekehrt nicht der Fall... AMOS als absturzfreie Sprache??!)
  4179. Von Aicke stammen 62,5% der Blanker. Wahrscheinlich kann man an seinen
  4180. Blankern und auch an den anderen Teilen Madhouses erkennen, da
  4181.  er ein
  4182. echter Perfektionist ist. Das hat es einerseits nicht einfach gemacht,
  4183. mit ihm zu arbeiten, aber es hat Madhouse oft entscheidend verbessert.
  4184. So hat er in allen Dingen, die zu Madhouse geh
  4185. ren, seine Spuren hinter-
  4186. lassen: ob er nun f
  4187. nf Pixel an der kleinen Diskette ge
  4188. ndert hat, die
  4189. im Ask-For-Disk-Fenster erscheint oder ob er eine gute Idee f
  4190. r FireWorks
  4191. hatte. Ideen hat er auch viele, so da
  4192.  er schon neue Blankmodes in Vor-
  4193. bereitung hat. Die AMOS-Demo ist auch von ihm.
  4194. Madhouse ist mein zweites C-Programm (eigentlich C++), das Erste waren
  4195. die FlyingToasters. Von mir kommt auch die englische und deutsche Anlei-
  4196. tung. In der Englischen werden viele Fehler sein, in der Deutschen viele
  4197. Abweichungen vom Thema... (Leider seht Ihr nun gar nichts von der engl.
  4198. Anleitung, weil die f
  4199. r eine deutsche Zielgruppe nun doch nicht mehr n
  4200. tig ist.) Da das Einsteigen in eine Sprache wie C recht schwierig ist,
  4201. danke ich allen die durch ihre Quelltexte im PD-Bereich etwas Licht in
  4202. das gro
  4203. e Compilerdunkel brachten. An die seitenlangen Compilerfehler
  4204. kann ich mich noch gut erinnern. Die C-Demo habe ich auch geschrieben,
  4205. das war meine erste echte Konfrontation mit dem ANSI-C-DosLib-File-I/O.
  4206. Zusammen haben wir einen Vorteil anderen Programmieren gegeb
  4207. ber, die
  4208. allein arbeiten: Wir haben verschiedene Computer. Damit kann man
  4209. Programme besser auf Fehlerfreiheit testen, den die Betriebssysteme
  4210. 2.0 / 3.0 reagieren bei Programmfehlern so gut wie immer unterschiedlich.
  4211. @{FG Highlight}@{B}Blick in die Glaskugel@{UB}@{FG Filltext}
  4212. In Zukunft werden hoffentlich neue Blanker erscheinen. Die m
  4213. ssen dann
  4214. nicht unbedingt von uns sein, denn mit der mitgelieferten Dokumentation
  4215. (in dieser Anleitung) kann so ziemlich jeder selbst einen Blanker her-
  4216. stellen. Eine Idee w
  4217. re noch ein Sound-Teil, Madhouse k
  4218. nnte Musik-
  4219. Module abspielen w
  4220. hrend die Blanker laufen. Meine wichtigste Planung
  4221. r die Zukunft war das MUI-Interface f
  4222. r Madhouse. Wie Ihr sicherlich
  4223. schon gemerkt habt, haben die MUI-Funktionen schon den Sprung in diese
  4224. Version geschafft.
  4225. Wir haben schon eine Menge Ideen f
  4226. r neue Blanker. Teilweise ist schon
  4227. Grafik fertig. Auch manche vorhandenen Blanker sind noch Verbesserungs-
  4228. hig. Falls es einen Geschwindigkeitszuwachs gibt (und das hoffe ich
  4229. doch) werden die FlyingToasters mit Bobs arbeiten. Ein Aquarium w
  4230. re auch
  4231. langsam f
  4232. llig, oder fangen wir doch lieber mit einer anderen Idee an?
  4233. Madhouse ist Shareware, der Betrag ist 20 DM. Im Registrationskapitel
  4234. (@{"Anhang C",link registration}) k
  4235. nnt Ihr alles 
  4236. ber die Registration
  4237. erfahren.
  4238. Wenn Ihr einen Bug findet, bitte schreibt uns! Wenn jemand einen guten
  4239. Blanker geschrieben hat, soll er/sie (?) ihn nicht nur f
  4240. r sich behalten,
  4241. sondern auch ver
  4242. ffentlichen! Es w
  4243. re wirklich super, wenn auch andere
  4244. Programmierer unser System nutzen w
  4245. rden.
  4246. @{FG Highlight}@{B}Unser Input-Device: schreibt uns mal!@{UB}@{FG Filltext}
  4247. Ihr k
  4248. nnt uns Ideen, Grafiken und Code senden, dann versuchen wir, was
  4249. draus zu machen. Wenn Ihr eine Antwort wollt, legt bitte genug Brief-
  4250. marken bei (am besten deutsche oder internationale). Wer wei
  4251. , wieviel
  4252. da ankommt... (Wahrscheinlich gar nichts, sowas kennt man ja.)
  4253. Wenn Ihr uns wegen Bugs schreibt, dann erkl
  4254. rt bitte peinlich genau
  4255. WAS passiert ist, WIE Ihr das geschafft habt und WELCHE anderen Sachen
  4256. im Hintergrund liefen und welchen Computer Ihr benutzt. Desweiteren ben
  4257. tigen wir eine genaue Beschreiben der Pflanzen im Computerraum.
  4258. Am besten Ihr versucht es auch ohne Tools und mit Eurer Original-
  4259. Workbench, bevor Ihr uns mit Back-Beschreibungen zudr
  4260. hnt... Nat
  4261. rlich
  4262. sind wir auch froh, wenn wir Bugmeldungen erhalten, aber andere Dinge
  4263. rden uns halt mehr freuen - verst
  4264. ndlich, oder?
  4265. Leider verf
  4266. gen wir mangels Modem 
  4267. ber keine E-Mail-Adresse.
  4268. Aicke Schulz
  4269. Neudeckerweg 118
  4270. D-12355 Berlin
  4271. Telefon: 030 (Berlin) / 664 48 22
  4272. Carsten Jahn
  4273. Kuckucksruf 34
  4274. D-16761 Stolpe-S
  4275. Vielen Dank f
  4276. r den Brief!
  4277. rlich d
  4278. rfen auch die Credits, sprich Danksagungen nicht fehlen. Die
  4279. Blanker CrazyPixel, DigitalClock, Drops, Glitter, Memory, Note, Skyline,
  4280. SoftwareFailure, Thunder und Worldtime wurden mit der Programmiersprache
  4281. AMOS entwickelt. Die Blanker FireWorks, FlyingToasters, Shuffle, Soccer,
  4282. Stars und Waves sowie das Hauptprogramm wurden mit dem MaxonC++-Light 3
  4283. Compilerpaket erstellt und compiliert.
  4284. Madhouse und alle dazugeh
  4285. rigen Daten und Programme sind Copyright 
  4286. 1994-1995 Carsten Jahn und Aicke Schulz. Alle Rechte weltweit vorbehalten.
  4287. @{"MagicUserInterface",link mui_info} wurde von Stefan Stuntz entwickelt, die Rechte daf
  4288. liegen bei ihm.
  4289.      +---------------------------------------------------------------+
  4290.      | Wer Madhouse verf
  4291. lscht oder nachmacht, oder verf
  4292. lschte oder |
  4293.      |  nachgemachte Versionen in Umlauf bringt, wird mit Windows
  4294.      |              nicht unter zehn Stunden bestraft.               |
  4295.      +---------------------------------------------------------------+
  4296. rlich wird keinerlei Haftung f
  4297. r Sch
  4298. bernommen, die durch den
  4299. Gebrauch von Madhouse entstehen / entstanden sind.
  4300. r den Gebrauch von Windows
  4301.  haften wir erst recht nicht.
  4302. Und w
  4303. rend ich hier die Zeile 3591 der Anleitung schreibe, verabschiede
  4304. ich mich und w
  4305. nsche allen Amiga-Usern ein langes, sch
  4306. nes Leben,
  4307. tolle Programme, neue Blanker, einen Multiscanmonitor und uns allen das
  4308. berleben des Amiga auf dem engen Markt der Hardwareplattformen.
  4309.                   @{I}@{B}Tsch
  4310. , bis zur n
  4311. chsten Anleitung,@{UB}
  4312.                             Euer Carsten.@{UI}
  4313. @endnode
  4314. ## Mu
  4315. te wieder einer nachsehen, ob die Zeilennummer wirklich stimmt :-)
  4316. @node registration "Registration"
  4317. Seit eineinhalb Jahren haben wir Madhouse auf unseren Computern. Endlich
  4318. ist es uns gelungen, es einigerma
  4319. en fertigzustellen. Ein modulares System
  4320. kann zwar gar nicht fertig sein, schlie
  4321. lich k
  4322. nnten noch hunderte von
  4323. Blankern hinzukommen, aber die Hauptprogramme Madhouse und MadhouseConfigEd
  4324. sind langsam ausgereift. Nun sollte es jedem Amiga-User zug
  4325. nglich sein,
  4326. und wir hoffen wenigstens auf ein kleines Feedback.
  4327. Ohne das Keyfile, das jeder registrierte User von uns per Post erh
  4328. lt, l
  4329. sich Madhouse nicht dauerhaft benutzen. Ist es nicht vorhanden, werden die
  4330. Einstellungen in ENV: und ENVARC: nicht beachtet, also mu
  4331.  nach jedem Start
  4332. mindestens der Pfad zu den Blankern neu eingestellt werden.
  4333. Nach der Registration erhaltet Ihr von uns eine Diskette, die eine Datei
  4334. namens Madhouse.key enth
  4335. lt. Diese solltet Ihr in Euer S: - Verzeichnis ko-
  4336. pieren. Sonst kopiert Ihr die niemandem! Sie enth
  4337. mlich Eure komplette
  4338. Anschrift, die Ihr 1. nicht im Keyfile 
  4339. ndern solltet, sonst wird es nicht
  4340. mehr erkannt, und die Euch 2. sofort entlarvt, wenn sie einmal der Falsche
  4341. in die H
  4342. nde kriegt.
  4343. Um Euch registrieren zu lassen, ben
  4344. tigt Ihr:
  4345. - Das ausgef
  4346. llte Registrationsformalur. Dieses k
  4347. nnt Ihr einfach aus-
  4348.   drucken und leserlich ausf
  4349. llen.
  4350. - Den Betrag von @{B}20 DM@{UB}, soviel kostet das. Dieser Preis ist doch
  4351. ugling-, Kleinkinder-, Jungliche-, Erwachsenen- und Seniorenfreundlich,
  4352.   oder?
  4353. - Einen normalen Briefumschlag. Da steckt Ihr o.g. hinein.
  4354. - Eine 1DM-Briefmarke. Die klebt Ihr auf o.g. drauf.
  4355. - Einen Briefkasten in Eurer N
  4356. he. Da steckt Ihr o.g. hinein.
  4357. Mut geh
  4358. brigens nicht dazu - Ich habe schon dreimal Geld f
  4359. r solche
  4360. Zwecke mit der Post verschickt, nach Deutschland, nach Holland und nach
  4361. England, und immer hat es geklappt.
  4362. Wer das aber will, der kann das Geld auch 
  4363. berweisen:
  4364.        Aicke Schulz
  4365.        Deutsche Bank, BLZ 100 700 00, Konto-Nr. 3565611
  4366. Bitte trotzdem das Formular ausf
  4367. llen und an uns schicken!
  4368. Als mordsm
  4369. igen Bonus garantieren wir den ersten zwanzig Bestellern, da
  4370. sie eine Diskette mit unserer Handschrift und Autogrammen erhalten!
  4371. (Schlie
  4372. lich lohnt es sich nicht, f
  4373. r 0 oder 4 Disketten Aufkleber zu
  4374. drucken...)
  4375. Alles klar?
  4376. Na, dann wollen wir mal den @{"Ausdruck starten" system "copy Registration_D.txt to PRT:"}.
  4377. @endnode
  4378. @node mui_info "Auch Madhouse benutzt das sagenhafte MUI."
  4379.                           This application uses
  4380.                         MUI - MagicUserInterface
  4381.                 (c) Copyright 1993/94 by Stefan Stuntz
  4382. MUI is a system to generate and maintain graphical user interfaces. With
  4383. the  aid  of  a  preferences program, the user of an application has the
  4384. ability to customize the outfit according to his personal taste.
  4385. MUI is distributed as shareware. To obtain a complete package containing
  4386. lots of examples and more information about registration please look for
  4387. a  file  called  "muiXXusr.lha"  (XX means the latest version number) on
  4388. your local bulletin boards or on public domain disks.
  4389.           If you want to register directly, feel free to send
  4390.                          DM 30.-  or  US$ 20.-
  4391.                                   to
  4392.                              Stefan Stuntz
  4393.                         Eduard-Spranger-Stra
  4394.                              80935 M
  4395. nchen
  4396.                                 GERMANY
  4397. Stefan will uns damit sagen, da
  4398.  die Oberf
  4399. che von Madhouse mit installier-
  4400. tem MUI v
  4401. llig frei von Euch gestaltet werden kann. Dem kann ich nur zu-
  4402. stimmen. MUI geh
  4403. rt zu den flexibelsten Programmen, die ich je gesehen
  4404. habe. MUI ist kein normales Programm, was man f
  4405. r einen bestimmten Zweck
  4406. benutzt. Jede entsprechend programmierte Anwendung kann es verwenden, und
  4407. dann profitiert der Anwender davon. In PD-Serien und Mailboxen findet man
  4408. die aktuelle Version von MUI, so richtig toll ist aber nur die unter der
  4409. oben genannten Adresse zu beziehende Vollversion, mit der man die Ein-
  4410. stellungen dauerhaft speichern kann. Sonst sehen die MUI-Anwendungen nach
  4411. jedem Reset wieder ganz normal aus.
  4412. @endnode
  4413. @node smileys "Alle in dieser Anleitung verwendeten Smileys"
  4414. Neben dem Standard-Smiley :-) wurde der Einsatz weiterer Arten in dieser
  4415. Anleitung n
  4416. tig. Die m
  4417. ssen nat
  4418. rlich noch entsprechend gedeutet werden:
  4419. ==)      Smiley mit Darth-Vader-Helm.
  4420. *-{:-)   Smiley mit Bommelm
  4421. tze (Inspiration aus der Winterzeit).
  4422. )      Smiley mit Designerbrille (und Knollennase).
  4423. :^)      Smiley aus der isometrischen Perspektive.
  4424. Allen Smiley-Fans empfehle ich stark das Archiv misc/misc/SmileyV3.lha aus
  4425. dem AmiNet.
  4426. @endnode
  4427.